Philipp Jungkamp
30edd7af53
Completions::add use libutil trim()
2023-02-10 22:17:09 +01:00
Philipp Jungkamp
a537095e1f
Infer short completion descriptions for commandline flags
...
Descriptions for commandline flags may not include newlines and should
be rather short for display in a shell. Truncate the description string
of a flag on '\n' or '.' to and add an ellipsis if needed.
2023-02-10 18:03:19 +01:00
Graham Bennett
4563e80363
Fix C++20 warnings
2022-10-22 15:16:46 +01:00
Eelco Dolstra
d365cced4f
Trim option descriptions
...
This removes unintended blank lines in Markdown when the description
is a multiline string literal.
2022-09-13 16:58:32 +02:00
Naïm Favier
711b2e1f48
Fix flake input completion for InstallablesCommands
...
Defers completion of flake inputs until the whole command line is parsed
so that we know what flakes we need to complete the inputs of.
Previously, `nix build flake --update-input <Tab>` always behaved like
`nix build . --update-input <Tab>`.
2022-07-11 15:13:51 +02:00
Eelco Dolstra
51712bf012
Merge pull request #6128 from ncfavier/fix-completion
...
Shell completion improvements
2022-04-19 13:45:33 +02:00
Naïm Favier
55c6906701
Perform tilde expansion when completing flake fragments
...
Allows completing `nix build ~/flake#<Tab>`.
We can implement expansion for `~user` later if needed.
Not using wordexp(3) since that expands way too much.
2022-03-07 12:01:54 +01:00
Naïm Favier
5461ff532d
Make completeDir follow symlinks
...
Allows completing `nix why-depends /run/cur<Tab>` to /run/current-system
2022-03-07 12:01:54 +01:00
Naïm Favier
a6d7cd4183
Ensure the completion marker is not processed beyond completion
...
I was surprised to see an error mentioning ___COMPLETE___ when trying to
complete a flag argument that had no completer implemented
2022-03-07 12:01:54 +01:00
regnat
c0792b1546
Implement a suggestions mechanism
...
Each `Error` class now includes a set of suggestions, and these are printed by
the top-level handler.
2022-03-07 10:09:09 +01:00
Eelco Dolstra
df552ff53e
Remove std::string alias (for real this time)
...
Also use std::string_view in a few more places.
2022-02-25 16:13:02 +01:00
Naïm Favier
1da1b2b345
Don't insert spaces when completing attribute paths
2021-12-22 16:17:01 +01:00
Eelco Dolstra
49a932fb18
nix --help: Display help using lowdown instead of man
...
Fixes #4476 .
Fixes #5231 .
2021-09-13 14:45:21 +02:00
Eelco Dolstra
453c3a603f
nix flake update: Recreate the lock file
...
This is probably what most people expect it to do. Fixes #3781 .
There is a new command 'nix flake lock' that has the old behaviour of
'nix flake update', i.e. it just adds missing lock file entries unless
overriden using --update-input.
2021-02-26 14:55:54 +01:00
Shea Levy
f6c5b05488
Respect command registrations in plugins.
2021-02-24 08:25:45 -05:00
Shea Levy
98d1b64400
Initialize plugins after handling initial command line flags
...
This is technically a breaking change, since attempting to set plugin
files after the first non-flag argument will now throw an error. This
is acceptable given the relative lack of stability in a plugin
interface and the need to tie the knot somewhere once plugins can
actually define new subcommands.
2021-02-24 08:22:17 -05:00
Eelco Dolstra
37352aa7e1
Support --no-net for backwards compatibility
2021-02-07 20:44:56 +01:00
Eelco Dolstra
36c4d6f592
Group common options
2021-01-25 19:03:13 +01:00
Eelco Dolstra
807d963ee8
Group subcommands by category
2021-01-25 18:19:32 +01:00
Eelco Dolstra
b159d23800
Make '--help' do the same as 'help' (i.e. show a manpage)
2021-01-25 14:38:15 +01:00
Eelco Dolstra
1047cb1e53
Command: Remove examples()
2020-12-23 18:26:40 +01:00
Eelco Dolstra
346baec783
Move doc() to Args
2020-12-21 13:32:23 +01:00
Eelco Dolstra
af373c2ece
Add deprecated aliases for renamed commands
2020-12-03 22:45:44 +01:00
Eelco Dolstra
59bd6e87a4
Completions::add(): Guard against newlines
2020-10-09 21:55:59 +02:00
regnat
04e5d0e704
Add a description in the completion outputs
...
Make nix output completions in the form `completion\tdescription`.
This can't be used by bash (afaik), but other shells like zsh or fish
can display it along the completion choices
2020-10-09 09:39:51 +02:00
Eelco Dolstra
85c8be6286
Remove static variable name clashes
...
This was useful for an experiment with building Nix as a single
compilation unit. It's not very useful otherwise but also doesn't
hurt...
2020-10-06 13:49:20 +02:00
Eelco Dolstra
dc2f278c95
Allow 'nix' subcommands to provide docs in Markdown format
2020-08-20 12:21:46 +02:00
Eelco Dolstra
6f19c776db
Start generation of the nix.1 manpage
2020-08-17 19:33:18 +02:00
Eelco Dolstra
a72a20d68f
Add 'nix dump-args' to dump all commands/flags for manpage generation
2020-08-17 17:44:52 +02:00
Eelco Dolstra
6ff9aa8df7
Don't process an option if any of its arguments need completion
2020-07-01 20:31:39 +02:00
Eelco Dolstra
adf2fbbdc2
Merge remote-tracking branch 'origin/master' into flakes
2020-06-26 08:46:46 +02:00
John Ericson
bbbf3602a3
Merge branch 'enum-class' into no-hash-type-unknown
2020-06-18 22:11:19 +00:00
John Ericson
40526fbea5
Merge remote-tracking branch 'upstream/master' into enum-class
2020-06-18 21:38:15 +00:00
Eelco Dolstra
1524752c17
Merge remote-tracking branch 'origin/master' into flakes
2020-06-17 10:26:52 +02:00
Ben Burdette
ef1b3f21b6
Merge remote-tracking branch 'upstream/master' into errors-phase-2
2020-06-11 14:06:35 -06:00
Eelco Dolstra
f85606c431
Merge remote-tracking branch 'origin/master' into flakes
2020-06-04 13:16:28 +02:00
Eelco Dolstra
0f44b60e6d
Make 'nix dev-shell' a deprecated alias for 'nix develop'
2020-06-04 11:14:19 +02:00
John Ericson
c664e68b87
Fix to-base --type handler to correctly set std::optional flag
...
Now that we have a separate flag function, also describe why it is
optional.
2020-06-02 18:25:32 +00:00
John Ericson
450dcf2c1b
Remove HashType::Unknown
...
Instead, `Hash` uses `std::optional<HashType>`. In the future, we may
also make `Hash` itself require a known hash type, encoraging people to
use `std::optional<Hash>` instead.
2020-06-02 15:52:13 +00:00
Carlo Nucera
4f597fb901
Merge branch 'master' of github.com:NixOS/nix into enum-class
2020-05-28 10:58:22 -04:00
Eelco Dolstra
437614b479
Fix macOS build
...
macOS doesn't have GLOB_ONLYDIR.
2020-05-12 11:09:09 +02:00
Ben Burdette
b93c1bf3d6
fixes to merged code
2020-05-11 15:52:15 -06:00
Ben Burdette
59b1f5c701
Merge branch 'master' into errors-phase-2
2020-05-11 14:35:30 -06:00
Eelco Dolstra
27d34ef770
When completing flakerefs, only return directories
2020-05-11 22:04:13 +02:00
Eelco Dolstra
e917332d63
Shut up warnings while running completers
2020-05-11 21:38:17 +02:00
Eelco Dolstra
4c3c638a05
Cleanup
2020-05-11 15:57:45 +02:00
Eelco Dolstra
0884f180f5
Simplify
2020-05-10 21:50:32 +02:00
Eelco Dolstra
e0c19ee620
Add completion for paths
2020-05-10 21:35:07 +02:00
Eelco Dolstra
91ddee6bf0
nix: Implement basic bash completion
2020-05-10 20:32:21 +02:00
Eelco Dolstra
f132d82a79
nix --help: Group commands
2020-05-05 15:18:23 +02:00