| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
Directories are completed like commands, because of implicit cd.
However, directories found inside $PATH entries should not be completed,
as implicit cd doesn't work there. Similarly, directories should not be
completed after the `command` builtin.
Fixes #1695.
|
|
|
|
|
| |
When erasing long option completions, distinguish between gnu-style and
old-style options, just like we do when adding and printing completions.
|
|
|
|
|
|
| |
When using `complete -c foo -l bar -e`, all long options for the command
were being erased because it was also comparing the short option, which
was 0.
|
|
|
|
|
|
|
| |
When using `complete -s x -e`, the long option is unspecified, which
makes it NULL. Comparing this to a `wcstring` segfaults.
Fixes #1182.
|
|
|
|
| |
Fixes #1631
|
|
|
|
|
|
| |
The characters ANY_CHAR, ANY_STRING, and ANY_STRING_RECURSIVE are
currently transformed by unescape, but not by escape. Let's try escaping
them. Fixes #1614.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the --wraps option to 'complete' and 'function'. This allows a
command to (recursively) inherit the completions of a wrapped command.
Fixes #393.
When evaluating a completion, we inspect the entire "wrap chain" for a
command, i.e. we follow the sequence of wrapping until we either hit a
loop (which we silently ignore) or the end of the chain. We then
evaluate completions as if the wrapping command were substituted with
the wrapped command. Currently this only works for commands, i.e.
'complete --command gco --wraps git\ checkout' won't work (that would
seem to encroaching on abbreviations anyways). It might be useful to
show an error message for that case.
The commandline builtin reflects the commandline with the wrapped
command substituted in, so e.g. git completions (which inspect the
command line) will just work. This sort of command line munging is
also performed by 'complete -C' so it's not totally without precedent.
'alias will also now mark its generated function as wrapping the
'target.
|
|
|
|
| |
redirecitons, per #1296
|
| |
|
| |
|
|
|
|
|
|
| |
parse_error_list_t through all of the expand functions, enabling them to
report errors more directly. Improve aspects of error reporting for
expansion failures.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 74135c0600d5dcc40d396d0e7293c17b8d4bdaa7, reversing
changes made to 6d749789ce240a3e6f1447777db63fd8e7525560.
See discussion in #1317
|
| |
|
|
|
|
| |
and other syntactic constructs. Fixes #1309
|
|
|
|
|
|
| |
promote it to a decoration (like 'command' or 'builtin'). This makes tab
completion and syntax highlighting treat exec's first argument as a
command and is otherwise a nice simplification. Fixes #1300
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
parser
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Issue #1108: If there are special characters like '{' in the
completion suggestions, then we fail to parse it successfully
as we are passing an unescaped version of the character to
parser_t::eval_args(...).
This causes us to retun w/o completion suggestions.
This bug was discovered while implementing 'git stash' completion
as the suggestion contained strings like 'stash@\{0\}'.
Th fix is to properly escape the string before parsing it.
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
complete.cpp
fish_tests.cpp
highlight.cpp
|
| |
| |
| |
| | |
less hackish and far simpler "perform on main thread" mechanism
|
| |
| |
| |
| | |
https://github.com/fish-shell/fish-shell/issues/1152
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
complete.cpp
fish_tests.cpp
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
complete.cpp
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
This is needed for implicit cd when ending command with `/`.
|
| |
|
|
|
|
| |
with a dash, as suggested in #568
|
|
|
|
|
| |
Other completions are still sorted by length.
https://github.com/fish-shell/fish-shell/issues/923
|
| |
|
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/568
https://github.com/fish-shell/fish-shell/issues/528
|
| |
|
| |
|
|
|
|
| |
in preparation for upcoming fuzzy completion work
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/576
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/575
|
|
|
|
|
|
|
| |
unless it fails
https://github.com/fish-shell/fish-shell/issues/547
https://github.com/fish-shell/fish-shell/issues/214
|
|
|
|
|
|
|
| |
we no longer kill OpenSUSE
https://github.com/fish-shell/fish-shell/issues/367
Also fix some formatting
|
| |
|