parent
321200d708
commit
7a9bab1d77
1 changed files with 18 additions and 37 deletions
@ -1,40 +1,21 @@ |
|||||||
#compdef tmuxinator mux |
_tmuxinator() { |
||||||
#autoload |
local commands projects |
||||||
|
commands=(${(f)"$(tmuxinator commands zsh)"}) |
||||||
|
projects=(${(f)"$(tmuxinator completions start)"}) |
||||||
|
|
||||||
local curcontext="$curcontext" state line ret=1 |
if (( CURRENT == 2 )); then |
||||||
local -a _configs |
_describe -t commands "tmuxinator subcommands" commands |
||||||
|
_describe -t projects "tmuxinator projects" projects |
||||||
_arguments -C \ |
elif (( CURRENT == 3)); then |
||||||
'1: :->cmds' \ |
case $words[2] in |
||||||
'2:: :->args' && ret=0 |
copy|debug|delete|open|start) |
||||||
|
_arguments '*:projects:($projects)' |
||||||
_configs=(${$(echo ~/.tmuxinator/*.yml):r:t}) |
|
||||||
|
|
||||||
case $state in |
|
||||||
cmds) |
|
||||||
_values "tmuxinator command" \ |
|
||||||
"new[create a new project file and open it in your editor]" \ |
|
||||||
"start[start a tmux session using project's tmuxinator config]" \ |
|
||||||
"open[create a new project file and open it in your editor]" \ |
|
||||||
"copy[copy source_project project file to a new project called new_project]" \ |
|
||||||
"delete[deletes the project called project_name]" \ |
|
||||||
"debug[output the shell commands generated by a projet]" \ |
|
||||||
"implode[deletes all existing projects!]" \ |
|
||||||
"list[list all existing projects]" \ |
|
||||||
"doctor[look for problems in your configuration]" \ |
|
||||||
"help[shows this help document]" \ |
|
||||||
"version[shows tmuxinator version number]" \ |
|
||||||
$_configs |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
args) |
|
||||||
case $line[1] in |
|
||||||
start|open|copy|delete|debug) |
|
||||||
[[ -n "$_configs" ]] && _values 'configs' $_configs |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
;; |
||||||
esac |
esac |
||||||
|
fi |
||||||
|
|
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
return ret |
compdef _tmuxinator tmuxinator mux |
||||||
|
alias mux="tmuxinator" |
||||||
|
|||||||
Loading…
Reference in new issue