Unnamed repository; edit this file 'description' to name the repository.
feat: improve hx fish completion (#10853)
* feat: improve hx fish completion - add -w and --working-dir options - shorten option description - dynamically call hx --health * feat: improve health check completion - remove header - remove check/x characters * feat: use hx --health languages in completion
Yuntao Zhao 2024-07-10
parent 15a26b8 · commit 86982ab
-rw-r--r--contrib/completion/hx.fish19
1 files changed, 11 insertions, 8 deletions
diff --git a/contrib/completion/hx.fish b/contrib/completion/hx.fish
index 11977605..f05dba8d 100644
--- a/contrib/completion/hx.fish
+++ b/contrib/completion/hx.fish
@@ -1,15 +1,18 @@
#!/usr/bin/env fish
# Fish completion script for Helix editor
-set -l langs (hx --health |tail -n '+7' |awk '{print $1}' |sed 's/\x1b\[[0-9;]*m//g')
-
complete -c hx -s h -l help -d "Prints help information"
complete -c hx -l tutor -d "Loads the tutorial"
-complete -c hx -l health -x -a "$langs" -d "Checks for errors in editor setup"
-complete -c hx -s g -l grammar -x -a "fetch build" -d "Fetches or builds tree-sitter grammars"
+complete -c hx -l health -xa "(__hx_langs_ops)" -d "Checks for errors"
+complete -c hx -s g -l grammar -x -a "fetch build" -d "Fetch or build tree-sitter grammars"
complete -c hx -s v -o vv -o vvv -d "Increases logging verbosity"
complete -c hx -s V -l version -d "Prints version information"
-complete -c hx -l vsplit -d "Splits all given files vertically into different windows"
-complete -c hx -l hsplit -d "Splits all given files horizontally into different windows"
-complete -c hx -s c -l config -r -d "Specifies a file to use for completion"
-complete -c hx -l log -r -d "Specifies a file to write log data into"
+complete -c hx -l vsplit -d "Splits all given files vertically"
+complete -c hx -l hsplit -d "Splits all given files horizontally"
+complete -c hx -s c -l config -r -d "Specifies a file to use for config"
+complete -c hx -l log -r -d "Specifies a file to use for logging"
+complete -c hx -s w -l working-dir -d "Specify initial working directory" -xa "(__fish_complete_directories)"
+
+function __hx_langs_ops
+ hx --health languages | tail -n '+2' | string replace -fr '^(\S+) .*' '$1'
+end