_tmuxinator 1.14 KB
Newer Older
1
#compdef tmuxinator mux
Ian Yang's avatar
Ian Yang committed
2
3
4
5
6
7
8
9
10
#autoload

local curcontext="$curcontext" state line ret=1
local -a _configs

_arguments -C \
  '1: :->cmds' \
  '2:: :->args' && ret=0

11
12
_configs=(${$(echo ~/.tmuxinator/*.yml):r:t})

Ian Yang's avatar
Ian Yang committed
13
14
15
case $state in
  cmds)
    _values "tmuxinator command" \
16
        "new[create a new project file and open it in your editor]" \
Ian Yang's avatar
Ian Yang committed
17
18
19
20
        "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]" \
21
        "debug[output the shell commands generated by a projet]" \
Ian Yang's avatar
Ian Yang committed
22
23
24
25
        "implode[deletes all existing projects!]" \
        "list[list all existing projects]" \
        "doctor[look for problems in your configuration]" \
        "help[shows this help document]" \
26
27
        "version[shows tmuxinator version number]" \
        $_configs
Ian Yang's avatar
Ian Yang committed
28
29
30
31
    ret=0
    ;;
  args)
    case $line[1] in
32
33
      start|open|copy|delete|debug)
        [[ -n "$_configs" ]] && _values 'configs' $_configs
Ian Yang's avatar
Ian Yang committed
34
35
36
37
38
39
        ret=0
        ;;
    esac
    ;;
esac

40
return ret