41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#compdef tmuxinator mux
 | 
						|
#autoload
 | 
						|
 | 
						|
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
 | 
						|
        ;;
 | 
						|
    esac
 | 
						|
    ;;
 | 
						|
esac
 | 
						|
 | 
						|
return ret
 |