#compdef _tmuxinator tmuxinator _tmuxinator() { local commands projects commands=(${(f)"$(tmuxinator commands zsh)"}) projects=(${(f)"$(tmuxinator completions start)"}) if (( CURRENT == 2 )); then _alternative \ 'commands:: _describe -t commands "tmuxinator subcommands" commands' \ 'projects:: _describe -t projects "tmuxinator projects" projects' elif (( CURRENT == 3)); then case $words[2] in copy|cp|c|debug|delete|rm|open|o|start|s|edit|e) _arguments '*:projects:($projects)' ;; esac fi return } # Local Variables: # mode: Shell-Script # sh-indentation: 2 # indent-tabs-mode: nil # sh-basic-offset: 2 # End: # vim: ft=zsh sw=2 ts=2 et