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:
		@ -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]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user