Add styler zsh completions

Can list available commands, specific options for commands (such as
list), and a complete list of installed themes that can be applied.
This commit is contained in:
Marty Oehme 2020-02-05 23:52:23 +01:00
parent b344242dff
commit 1d28202f17

View file

@ -0,0 +1,50 @@
#compdef styler
# the above line should contain all commands to be completed using this file
# zsh autocompletions for styler script
local curcontext="$curcontext" state line ret=1
local cmdnames=(theme set download list help version)
_arguments -C \
'1: :->cmds' \
'2: :->args' \
'3: :->subrout' && ret=0
local -a initial_commands=(
'theme:Temporarily switch theme to specified argument'
'set:Permanently set theme to specified argument'
'download:Download a base16 compatible template'
'list:Display installed processors, templates, or themes'
'help:Display help text and exit'
'version:Display styler information and exit'
)
__themes() {
echo "$(styler list themes)"
}
case $state in
cmds)
_describe -t commands 'styler cmd' initial_commands && ret=0
;;
args)
case $words[2] in
theme | set)
_values 'themes' $(__themes) && ret=0
;;
list)
_values 'listopts' \
'processors[Display available application processors]' \
'templates[Display available base16 templates]' \
'themes[Display available base16 themes]' && ret=0
;;
*)
((ret)) && _message 'no more arguments'
;;
esac
;;
esac