Make bash completion behave normally (#11246)

This commit is contained in:
Luca Saccarola 2024-07-24 18:25:25 +02:00 committed by GitHub
parent 5d3f05cbe1
commit ef4a4ff3c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,23 +2,31 @@
# Bash completion script for Helix editor # Bash completion script for Helix editor
_hx() { _hx() {
# $1 command name local cur prev languages
# $2 word being completed COMPREPLY=()
# $3 word preceding cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD - 1]}"
case "$3" in case "$prev" in
-g | --grammar) -g | --grammar)
COMPREPLY="$(compgen -W 'fetch build' -- $2)" COMPREPLY=($(compgen -W 'fetch build' -- "$cur"))
return 0
;; ;;
--health) --health)
local languages=$(hx --health |tail -n '+7' |awk '{print $1}' |sed 's/\x1b\[[0-9;]*m//g') languages=$(hx --health | tail -n '+7' | awk '{print $1}' | sed 's/\x1b\[[0-9;]*m//g')
COMPREPLY="$(compgen -W """$languages""" -- $2)" COMPREPLY=($(compgen -W """$languages""" -- "$cur"))
;; return 0
*)
COMPREPLY="$(compgen -fd -W "-h --help --tutor -V --version -v -vv -vvv --health -g --grammar --vsplit --hsplit -c --config --log" -- """$2""")"
;; ;;
esac esac
local IFS=$'\n' case "$2" in
COMPREPLY=($COMPREPLY) -*)
COMPREPLY=($(compgen -W "-h --help --tutor -V --version -v -vv -vvv --health -g --grammar --vsplit --hsplit -c --config --log" -- """$2"""))
return 0
;;
*)
COMPREPLY=($(compgen -fd -- """$2"""))
return 0
;;
esac
} && complete -o filenames -F _hx hx } && complete -o filenames -F _hx hx