1
0
Fork 0
mirror of https://github.com/spf13/cobra synced 2025-04-17 04:07:20 +00:00

Allow fish comp to support trailing empty lines ()

Some programs may output extra empty lines after the directive.
Those lines must be ignored for fish shell completion to work.
zsh and bash are not impacted.

Signed-off-by: Marc Khouzam <marc.khouzam@montreal.ca>
Co-authored-by: Johannes Altmanninger <aclopte@gmail.com>

Co-authored-by: Johannes Altmanninger <aclopte@gmail.com>
This commit is contained in:
Marc Khouzam 2021-05-03 12:23:34 -04:00 committed by GitHub
parent 3ed6a394b6
commit 06e4b59b20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -53,6 +53,19 @@ function __%[1]s_perform_completion
__%[1]s_debug "Calling $requestComp"
set results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set comps $results[1..-2]
set directiveLine $results[-1]