33 lines
		
	
	
		
			737 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			737 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#compdef ghcup
 | 
						|
 | 
						|
local request
 | 
						|
local completions
 | 
						|
local word
 | 
						|
local index=$((CURRENT - 1))
 | 
						|
 | 
						|
request=(--bash-completion-enriched --bash-completion-index $index)
 | 
						|
for arg in ${words[@]}; do
 | 
						|
  request=(${request[@]} --bash-completion-word $arg)
 | 
						|
done
 | 
						|
 | 
						|
IFS=$'\n' completions=($( ghcup "${request[@]}" ))
 | 
						|
 | 
						|
for word in $completions; do
 | 
						|
  local -a parts
 | 
						|
 | 
						|
  # Split the line at a tab if there is one.
 | 
						|
  IFS=$'\t' parts=($( echo $word ))
 | 
						|
 | 
						|
  if [[ -n $parts[2] ]]; then
 | 
						|
     if [[ $word[1] == "-" ]]; then
 | 
						|
       local desc=("$parts[1] ($parts[2])")
 | 
						|
       compadd -d desc -- $parts[1]
 | 
						|
     else
 | 
						|
       local desc=($(print -f  "%-019s -- %s" $parts[1] $parts[2]))
 | 
						|
       compadd -l -d desc -- $parts[1]
 | 
						|
     fi
 | 
						|
  else
 | 
						|
    compadd -f -- $word
 | 
						|
  fi
 | 
						|
done
 |