Marty Oehme
1d28202f17
Can list available commands, specific options for commands (such as list), and a complete list of installed themes that can be applied.
50 lines
1.1 KiB
Text
Executable file
50 lines
1.1 KiB
Text
Executable file
#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
|