forked from mirror/cobra
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
|
@ -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]
|
||||
|
||||
|
|
Loading…
Reference in New Issue