diff options
Diffstat (limited to 'hatch_complete.zsh')
-rw-r--r-- | hatch_complete.zsh | 28 |
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; |