summarylogtreecommitdiffstats
path: root/hatch_complete.zsh
diff options
context:
space:
mode:
authorKaizhao Zhang2019-01-15 13:34:43 +0800
committerKaizhao Zhang2019-01-15 13:34:43 +0800
commit1523642d42b63e6d6c5b237d1a55cffa0102e075 (patch)
tree9d05c2acaed6d2c7c46cecca86f4829bd1a8856c /hatch_complete.zsh
parent91b3cb67f5b49379f57098de875e53bb18b0f404 (diff)
downloadaur-1523642d42b63e6d6c5b237d1a55cffa0102e075.tar.gz
Add tab completions for Bash and Zsh
Diffstat (limited to 'hatch_complete.zsh')
-rw-r--r--hatch_complete.zsh28
1 files changed, 28 insertions, 0 deletions
diff --git a/hatch_complete.zsh b/hatch_complete.zsh
new file mode 100644
index 000000000000..33d3ae350f5c
--- /dev/null
+++ b/hatch_complete.zsh
@@ -0,0 +1,28 @@
+_hatch_completion() {
+ local -a completions
+ local -a completions_with_descriptions
+ local -a response
+ response=("${(@f)$( env COMP_WORDS="${words[*]}" \
+ COMP_CWORD=$((CURRENT-1)) \
+ _HATCH_COMPLETE="complete_zsh" \
+ hatch )}")
+
+ for key descr in ${(kv)response}; do
+ if [[ "$descr" == "_" ]]; then
+ completions+=("$key")
+ else
+ completions_with_descriptions+=("$key":"$descr")
+ fi
+ done
+
+ if [ -n "$completions_with_descriptions" ]; then
+ _describe -V unsorted completions_with_descriptions -U -Q
+ fi
+
+ if [ -n "$completions" ]; then
+ compadd -U -V unsorted -Q -a completions
+ fi
+ compstate[insert]="automenu"
+}
+
+compdef _hatch_completion hatch;