Make bash completion behave normally (#11246)
This commit is contained in:
parent
5d3f05cbe1
commit
ef4a4ff3c5
1 changed files with 25 additions and 17 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue