mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-22 10:11:13 -03:00
Added option to use completion source order without re-sorting
Introduce a -k/--keep-order switch to `complete` that can be used to prevent fish from sorting/re-ordering the results provided by a completion source. In addition, this patch does so without doing away with deduplication of completions by introducing a new unique_unsorted(..) helper function that removes duplicates in-place without affecting the general order of the vector/container. Note that the code now uses a stable sort for completions, since the behavior of is_naturally_less_than as of this patch now means that the results are not necessarily _actually_ identical just because that function repeatedly returns false for any ordering of any given two elements. Fixes #361
This commit is contained in:
committed by
Kurtis Rader
parent
1278cf2b6e
commit
94041974e4
@@ -8,6 +8,7 @@ complete ( -c | --command | -p | --path ) COMMAND
|
||||
[( -s | --short-option ) SHORT_OPTION]...
|
||||
[( -l | --long-option | -o | --old-option ) LONG_OPTION]...
|
||||
[( -a | --arguments ) OPTION_ARGUMENTS]
|
||||
[( -k | --keep-order )]
|
||||
[( -f | --no-files )]
|
||||
[( -r | --require-parameter )]
|
||||
[( -x | --exclusive )]
|
||||
@@ -47,6 +48,8 @@ the fish manual.
|
||||
|
||||
- `-a OPTION_ARGUMENTS` or `--arguments=OPTION_ARGUMENTS` adds the specified option arguments to the completions list.
|
||||
|
||||
- `-k` or `--keep-order` preserves the order of the `OPTION_ARGUMENTS` specified via `-a` or `--arguments` instead of sorting alphabetically.
|
||||
|
||||
- `-f` or `--no-files` specifies that the options specified by this completion may not be followed by a filename.
|
||||
|
||||
- `-r` or `--require-parameter` specifies that the options specified by this completion always must have an option argument, i.e. may not be followed by another option.
|
||||
|
||||
Reference in New Issue
Block a user