55 lines
1.7 KiB
Plaintext
55 lines
1.7 KiB
Plaintext
|
#compdef tmuxinator mux
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# Description
|
||
|
# -----------
|
||
|
#
|
||
|
# Completion script for tmuxinator (https://github.com/aziz/tmuxinator).
|
||
|
#
|
||
|
# Source: https://gist.github.com/2242920
|
||
|
#
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# Authors
|
||
|
# -------
|
||
|
#
|
||
|
# * ser1zw (https://github.com/ser1zw)
|
||
|
# * Ben O'Hara (https://github.com/benohara)
|
||
|
#
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
||
|
# vim: ft=zsh sw=2 ts=2 et
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
_tmuxinator() {
|
||
|
local -a projects
|
||
|
projects=(`find $HOME/.tmuxinator/ -name \*.yml| awk -F/ '{print $NF}' | sed s:.yml::g`)
|
||
|
|
||
|
local -a commands
|
||
|
commands=(
|
||
|
'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'
|
||
|
)
|
||
|
|
||
|
if (( CURRENT == 2 )); then
|
||
|
_describe -t commands 'commands' commands
|
||
|
elif (( CURRENT == 3 )); then
|
||
|
case $words[2] in
|
||
|
copy|delete|open|start)
|
||
|
_arguments '*:projects:($projects)'
|
||
|
;;
|
||
|
list)
|
||
|
_arguments '-v[verbose]' # FIXME: doesn't work well
|
||
|
;;
|
||
|
esac
|
||
|
fi
|
||
|
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
_tmuxinator
|