Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--contrib/completion/hx.bash42
1 files changed, 25 insertions, 17 deletions
diff --git a/contrib/completion/hx.bash b/contrib/completion/hx.bash
index 62ca029b..1b102017 100644
--- a/contrib/completion/hx.bash
+++ b/contrib/completion/hx.bash
@@ -2,23 +2,31 @@
# Bash completion script for Helix editor
_hx() {
- # $1 command name
- # $2 word being completed
- # $3 word preceding
+ local cur prev languages
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD - 1]}"
- 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
+ case "$prev" in
+ -g | --grammar)
+ COMPREPLY=($(compgen -W 'fetch build' -- "$cur"))
+ return 0
+ ;;
+ --health)
+ languages=$(hx --health | tail -n '+7' | awk '{print $1}' | sed 's/\x1b\[[0-9;]*m//g')
+ COMPREPLY=($(compgen -W """$languages""" -- "$cur"))
+ return 0
+ ;;
+ esac
- local IFS=$'\n'
- COMPREPLY=($COMPREPLY)
+ case "$2" in
+ -*)
+ 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