2022-04-12 16:10:21 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# Bash completion script for Helix editor
|
|
|
|
|
|
|
|
_hx() {
|
2024-07-25 00:25:25 +08:00
|
|
|
local cur prev languages
|
|
|
|
COMPREPLY=()
|
|
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
|
|
prev="${COMP_WORDS[COMP_CWORD - 1]}"
|
2022-04-12 16:10:21 +08:00
|
|
|
|
2024-07-25 00:25:25 +08:00
|
|
|
case "$prev" in
|
|
|
|
-g | --grammar)
|
2025-02-11 00:42:45 +08:00
|
|
|
mapfile -t COMPREPLY < <(compgen -W 'fetch build' -- "$cur")
|
2024-07-25 00:25:25 +08:00
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
--health)
|
|
|
|
languages=$(hx --health | tail -n '+7' | awk '{print $1}' | sed 's/\x1b\[[0-9;]*m//g')
|
2025-02-11 00:42:45 +08:00
|
|
|
mapfile -t COMPREPLY < <(compgen -W """$languages""" -- "$cur")
|
2024-07-25 00:25:25 +08:00
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
esac
|
2022-04-12 16:10:21 +08:00
|
|
|
|
2024-07-25 00:25:25 +08:00
|
|
|
case "$2" in
|
|
|
|
-*)
|
2025-02-11 00:42:45 +08:00
|
|
|
mapfile -t COMPREPLY < <(compgen -W "-h --help --tutor -V --version -v -vv -vvv --health -g --grammar --vsplit --hsplit -c --config --log" -- """$2""")
|
2024-07-25 00:25:25 +08:00
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
*)
|
2025-02-11 00:42:45 +08:00
|
|
|
mapfile -t COMPREPLY < <(compgen -fd -- """$2""")
|
2024-07-25 00:25:25 +08:00
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
esac
|
2024-02-23 23:46:41 +08:00
|
|
|
} && complete -o filenames -F _hx hx
|