dotfiles/lib/local/_desk

34 lines
670 B
Text

#compdef desk
#autoload
_all_desks() {
desks=($(desk list --only-names))
}
local expl
local -a desks
local -a _subcommands
_subcommands=(
'help:Print a help message.'
'init:Initialize your desk configuration.'
'list:List available desks'
'ls:List available desks'
'edit:Edit or create a desk, defaults to current desk'
'go:Activate a desk'
'.:Activate a desk'
'run:Run a command within a desk environment'
'version:Show the desk version.'
)
if (( CURRENT == 2 )); then
_describe -t commands 'desk subcommand' _subcommands
return
fi
case "$words[2]" in
go|.|edit|run)
_all_desks
_wanted desks expl 'desks' compadd -a desks ;;
esac