diff --git a/src/complete.cpp b/src/complete.cpp index a93047493..702af75d4 100644 --- a/src/complete.cpp +++ b/src/complete.cpp @@ -1542,6 +1542,7 @@ void completer_t::perform() { tok_t prev_tok = tokens.at(tokens.size() - 2); if (prev_tok.type == token_type_t::string) previous_argument = prev_tok.get_source(cmd); + in_redirection = prev_tok.type == token_type_t::redirect; } } diff --git a/tests/checks/complete.fish b/tests/checks/complete.fish index 93d5ba31d..2f4469626 100644 --- a/tests/checks/complete.fish +++ b/tests/checks/complete.fish @@ -150,3 +150,6 @@ complete -C'for _ in ' | string collect >&- && echo completed some files # function; #5415 complete -C'function : --arg' # CHECK: --argument-names {{.*}} + +complete -C'echo > /' | string length -q && echo ok +# CHECK: ok