Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'contrib/completion/hx.bash')
-rw-r--r--contrib/completion/hx.bash43
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
+