Browse Source

Update tmuxinator completion to 03c8babb

Marc Cornellà 6 years ago
parent
commit
7a9bab1d77
1 changed files with 18 additions and 37 deletions
  1. 18 37
      plugins/tmuxinator/_tmuxinator

+ 18 - 37
plugins/tmuxinator/_tmuxinator

@@ -1,40 +1,21 @@
-#compdef tmuxinator mux
-#autoload
+_tmuxinator() {
+  local commands projects
+  commands=(${(f)"$(tmuxinator commands zsh)"})
+  projects=(${(f)"$(tmuxinator completions start)"})
 
-local curcontext="$curcontext" state line ret=1
-local -a _configs
-
-_arguments -C \
-  '1: :->cmds' \
-  '2:: :->args' && ret=0
-
-_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
-        ;;
+  if (( CURRENT == 2 )); then
+    _describe -t commands "tmuxinator subcommands" commands
+    _describe -t projects "tmuxinator projects" projects
+  elif (( CURRENT == 3)); then
+    case $words[2] in
+      copy|debug|delete|open|start)
+        _arguments '*:projects:($projects)'
+      ;;
     esac
-    ;;
-esac
+  fi
+
+  return
+}
 
-return ret
+compdef _tmuxinator tmuxinator mux
+alias mux="tmuxinator"