Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'contrib/completion/hx.bash')
| -rw-r--r-- | contrib/completion/hx.bash | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/contrib/completion/hx.bash b/contrib/completion/hx.bash index bad3fa05..01b42deb 100644 --- a/contrib/completion/hx.bash +++ b/contrib/completion/hx.bash @@ -2,31 +2,22 @@ # Bash completion script for Helix editor _hx() { - local cur prev languages - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD - 1]}" + # $1 command name + # $2 word being completed + # $3 word preceding + COMPREPLY=() - case "$prev" in - -g | --grammar) - mapfile -t COMPREPLY < <(compgen -W 'fetch build' -- "$cur") - return 0 - ;; - --health) - languages=$(hx --health all-languages | tail -n '+2' | awk '{print $1}' | sed 's/\x1b\[[0-9;]*m//g') - mapfile -t COMPREPLY < <(compgen -W """clipboard languages all-languages all $languages""" -- "$cur") - return 0 - ;; - esac - - case "$2" in - -*) - mapfile -t COMPREPLY < <(compgen -W "-h --help --tutor -V --version -v -vv -vvv --health -g --grammar --vsplit --hsplit -c --config --log" -- """$2""") - return 0 - ;; - *) - mapfile -t COMPREPLY < <(compgen -fd -- """$2""") - return 0 - ;; - esac + case "$3" in + -g | --grammar) + COMPREPLY=($(compgen -W "fetch build" -- $2)) + ;; + --health) + local languages=$(hx --health |tail -n '+7' |awk '{print $1}' |sed 's/\x1b\[[0-9;]*m//g') + COMPREPLY=($(compgen -W "$languages" -- $2)) + ;; + *) + COMPREPLY=($(compgen -fd -W "-h --help --tutor -V --version -v -vv -vvv --health -g --grammar --vsplit --hsplit -c --config --log" -- $2)) + ;; + esac } && complete -o filenames -F _hx hx + |