_tmuxinator 1015 Bytes
Newer Older
1
#compdef tmuxinator mux
Ian Yang's avatar
Ian Yang committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#autoload

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

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

case $state in
  cmds)
    _values "tmuxinator command" \
        "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]" \
        "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]"
    ret=0
    ;;
  args)
    case $line[1] in
      start|open|copy|delete)
28
        _configs=(`find ~/.tmuxinator -name \*.yml | cut -d/ -f5 | sed s:.yml::g`)
Ian Yang's avatar
Ian Yang committed
29
30
31
32
33
34
35
        _values 'configs' $_configs
        ret=0
        ;;
    esac
    ;;
esac

36
return ret