mirror of
https://github.com/spf13/cobra
synced 2024-11-24 14:47:12 +00:00
Allow fish comp to support trailing empty lines (#1284)
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:
parent
3ed6a394b6
commit
06e4b59b20
1 changed files with 13 additions and 0 deletions
|
@ -53,6 +53,19 @@ function __%[1]s_perform_completion
|
||||||
__%[1]s_debug "Calling $requestComp"
|
__%[1]s_debug "Calling $requestComp"
|
||||||
|
|
||||||
set results (eval $requestComp 2> /dev/null)
|
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 comps $results[1..-2]
|
||||||
set directiveLine $results[-1]
|
set directiveLine $results[-1]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue