51 lines
1.1 KiB
Text
51 lines
1.1 KiB
Text
|
#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
|