64359f8b48
Use a builtin bash option which detects filenames in completion outputs and reflects this in sensible <tab> completion behaviour.
23 lines
586 B
Bash
23 lines
586 B
Bash
#!/usr/bin/env bash
|
|
# Bash completion script for Helix editor
|
|
|
|
_hx() {
|
|
# $1 command name
|
|
# $2 word being completed
|
|
# $3 word preceding
|
|
COMPREPLY=()
|
|
|
|
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
|
|
|