tmuxinator 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/tmuxinator.rb +7 -0
- data/lib/tmuxinator/assets/template.erb +8 -1
- data/lib/tmuxinator/assets/wemux_template.erb +3 -1
- data/lib/tmuxinator/cli.rb +4 -7
- data/lib/tmuxinator/config.rb +2 -6
- data/lib/tmuxinator/project.rb +4 -2
- data/lib/tmuxinator/version.rb +1 -1
- data/lib/tmuxinator/window.rb +2 -1
- data/spec/lib/tmuxinator/cli_spec.rb +24 -29
- data/spec/lib/tmuxinator/config_spec.rb +21 -21
- data/spec/lib/tmuxinator/project_spec.rb +18 -18
- data/spec/lib/tmuxinator/window_spec.rb +5 -4
- metadata +43 -49
- data/.gitignore +0 -19
- data/.rspec +0 -1
- data/.travis.yml +0 -26
- data/CHANGELOG.md +0 -97
- data/CONTRIBUTING.md +0 -42
- data/Gemfile +0 -5
- data/LICENSE +0 -20
- data/README.md +0 -251
- data/Rakefile +0 -1
- data/completion/tmuxinator.bash +0 -21
- data/completion/tmuxinator.fish +0 -16
- data/completion/tmuxinator.zsh +0 -20
- data/tmuxinator.gemspec +0 -52
data/Gemfile
DELETED
data/LICENSE
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright (c) 2010-2013 Allen Bargi
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
DELETED
@@ -1,251 +0,0 @@
|
|
1
|
-
# Tmuxinator
|
2
|
-
|
3
|
-
[](http://badge.fury.io/rb/tmuxinator) [](http://travis-ci.org/tmuxinator/tmuxinator?branch=master) [](https://coveralls.io/r/tmuxinator/tmuxinator) [](https://codeclimate.com/github/tmuxinator/tmuxinator) [](https://gemnasium.com/tmuxinator/tmuxinator)
|
4
|
-
|
5
|
-
Create and manage tmux sessions easily.
|
6
|
-
|
7
|
-

|
8
|
-
|
9
|
-
## Installation
|
10
|
-
|
11
|
-
```
|
12
|
-
gem install tmuxinator
|
13
|
-
```
|
14
|
-
|
15
|
-
## Editor and Shell
|
16
|
-
|
17
|
-
tmuxinator uses your shell's default editor for opening files. If you're not
|
18
|
-
sure what that is type:
|
19
|
-
|
20
|
-
``` bash
|
21
|
-
echo $EDITOR
|
22
|
-
```
|
23
|
-
|
24
|
-
For me that produces "vim" If you want to change your default editor simply
|
25
|
-
put a line in ~/.bashrc that changes it. Mine looks like this:
|
26
|
-
|
27
|
-
```
|
28
|
-
export EDITOR='vim'
|
29
|
-
```
|
30
|
-
|
31
|
-
## tmux
|
32
|
-
|
33
|
-
The recommended version of tmux to use is 1.8. Your mileage may vary for
|
34
|
-
earlier versions. Refer to the FAQ for any odd behaviour.
|
35
|
-
|
36
|
-
### base-index
|
37
|
-
|
38
|
-
If you use a `base-index` other than the default, please be sure to also set the `pane-base-index`
|
39
|
-
|
40
|
-
```
|
41
|
-
set-window-option -g pane-base-index 1
|
42
|
-
```
|
43
|
-
|
44
|
-
## Completion
|
45
|
-
|
46
|
-
Download the appropriate completion file from the repo and `source` the file.
|
47
|
-
The following are example where the completion file has been downloaded into
|
48
|
-
`~/.bin`.
|
49
|
-
|
50
|
-
### bash
|
51
|
-
|
52
|
-
Add the following to your `~/.bashrc`:
|
53
|
-
|
54
|
-
source ~/.bin/tmuxinator.bash
|
55
|
-
|
56
|
-
### zsh
|
57
|
-
|
58
|
-
Add the following to your `~/.zshrc`:
|
59
|
-
|
60
|
-
source ~/.bin/tmuxinator.zsh
|
61
|
-
|
62
|
-
### fish
|
63
|
-
|
64
|
-
Move `tmuxinator.fish` to your `completions` folder:
|
65
|
-
|
66
|
-
cp ~/.bin/tmuxinator.fish ~/.config/completions/
|
67
|
-
|
68
|
-
## Usage
|
69
|
-
|
70
|
-
A working knowledge of tmux is assumed. You should understand what windows and
|
71
|
-
panes are in tmux. If not please consult the [man pages](http://manpages.ubuntu.com/manpages/precise/en/man1/tmux.1.html#contenttoc6) for tmux.
|
72
|
-
|
73
|
-
### Create a project
|
74
|
-
|
75
|
-
Create or edit your projects with:
|
76
|
-
|
77
|
-
```
|
78
|
-
tmuxinator new [project]
|
79
|
-
```
|
80
|
-
|
81
|
-
For editing you can also use `tmuxinator open [project]`. `new` is aliased to
|
82
|
-
`o`,`open` and `n`. Your default editor (`$EDITOR`) is used to open the file.
|
83
|
-
If this is a new project you will see this default config:
|
84
|
-
|
85
|
-
```yaml
|
86
|
-
# ~/.tmuxinator/sample.yml
|
87
|
-
|
88
|
-
name: sample
|
89
|
-
root: ~/
|
90
|
-
|
91
|
-
# Optional. tmux socket
|
92
|
-
# socket_name: foo
|
93
|
-
|
94
|
-
# Runs before everything. Use it to start daemons etc.
|
95
|
-
# pre: sudo /etc/rc.d/mysqld start
|
96
|
-
|
97
|
-
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
|
98
|
-
# pre_window: rbenv shell 2.0.0-p247
|
99
|
-
|
100
|
-
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
|
101
|
-
# tmux_options: -f ~/.tmux.mac.conf
|
102
|
-
|
103
|
-
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
|
104
|
-
# tmux_command: byobu
|
105
|
-
|
106
|
-
windows:
|
107
|
-
- editor:
|
108
|
-
layout: main-vertical
|
109
|
-
panes:
|
110
|
-
- vim
|
111
|
-
- guard
|
112
|
-
- server: bundle exec rails s
|
113
|
-
- logs: tail -f log/development.log
|
114
|
-
```
|
115
|
-
|
116
|
-
## Windows
|
117
|
-
|
118
|
-
The windows option allows the specification of any number of tmux windows. Each window is denoted by a YAML array entry, followed by a name
|
119
|
-
and command to be run.
|
120
|
-
|
121
|
-
```
|
122
|
-
windows:
|
123
|
-
- editor: vim
|
124
|
-
```
|
125
|
-
|
126
|
-
## Panes
|
127
|
-
|
128
|
-
**_Note that if you wish to use panes, make sure that you do not have `.` in your project name. tmux uses `.` to delimit between window and pane indices,
|
129
|
-
and tmuxinator uses the project name in combination with these indices to target the correct pane or window._**
|
130
|
-
|
131
|
-
Panes are optional and are children of window entries, but unlike windows, they do not need a name. In the following example, the `editor` window has 2 panes, one running vim, the other guard.
|
132
|
-
|
133
|
-
```yaml
|
134
|
-
windows:
|
135
|
-
- editor:
|
136
|
-
layout: main-vertical
|
137
|
-
panes:
|
138
|
-
- vim
|
139
|
-
- guard
|
140
|
-
```
|
141
|
-
|
142
|
-
The layout setting gets handed down to tmux directly, so you can choose from
|
143
|
-
one of [the five standard layouts](http://manpages.ubuntu.com/manpages/precise/en/man1/tmux.1.html#contenttoc6)
|
144
|
-
or [specify your own](http://stackoverflow.com/a/9976282/183537).
|
145
|
-
|
146
|
-
## Interpreter Managers & Environment Variables
|
147
|
-
|
148
|
-
To use tmuxinator with rbenv, RVM, NVM etc, use the `pre_window` option.
|
149
|
-
|
150
|
-
```
|
151
|
-
pre_window: rbenv shell 2.0.0-p247
|
152
|
-
```
|
153
|
-
|
154
|
-
These command(s) will run before any subsequent commands in all panes and windows.
|
155
|
-
|
156
|
-
## Passing directly to send-keys
|
157
|
-
|
158
|
-
tmuxinator passes commands directly to send keys. This differs from simply chaining commands together using `&&` or `;`, in that
|
159
|
-
tmux will directly send the commands to a shell as if you typed them in. This allows commands to be executed on a remote server over
|
160
|
-
SSH for example.
|
161
|
-
|
162
|
-
To support this both the window and pane options can take an array as an argument:
|
163
|
-
|
164
|
-
```
|
165
|
-
name: sample
|
166
|
-
root: ~/
|
167
|
-
|
168
|
-
windows:
|
169
|
-
- stats:
|
170
|
-
- ssh stats@example.com
|
171
|
-
- tail -f /var/log/stats.log
|
172
|
-
- logs:
|
173
|
-
layout: main-vertical
|
174
|
-
panes:
|
175
|
-
- logs:
|
176
|
-
- ssh logs@example.com
|
177
|
-
- cd /var/logs
|
178
|
-
- tail -f development.log
|
179
|
-
```
|
180
|
-
|
181
|
-
## Starting a session
|
182
|
-
|
183
|
-
This will fire up tmux with all the tabs and panes you configured.
|
184
|
-
|
185
|
-
```
|
186
|
-
tmuxinator start [project]
|
187
|
-
```
|
188
|
-
|
189
|
-
## Shorthand
|
190
|
-
|
191
|
-
A shorthand alias for tmuxinator can also be used.
|
192
|
-
|
193
|
-
```
|
194
|
-
mux [command]
|
195
|
-
```
|
196
|
-
|
197
|
-
## Other Commands
|
198
|
-
|
199
|
-
Copy an existing project. Aliased to `c` and `cp`
|
200
|
-
```
|
201
|
-
tmuxinator copy [existing] [new]
|
202
|
-
```
|
203
|
-
|
204
|
-
List all the projects you have configured. Aliased to `l` and `ls`
|
205
|
-
```
|
206
|
-
tmuxinator list
|
207
|
-
```
|
208
|
-
|
209
|
-
Remove a project. Aliased to `rm`
|
210
|
-
```
|
211
|
-
tmuxinator delete [project]
|
212
|
-
```
|
213
|
-
|
214
|
-
Remove all tmuxinator configs, aliases and scripts. Aliased to `i`
|
215
|
-
```
|
216
|
-
tmuxinator implode
|
217
|
-
```
|
218
|
-
|
219
|
-
Examines your environment and identifies problems with your configuration
|
220
|
-
```
|
221
|
-
tmuxinator doctor
|
222
|
-
```
|
223
|
-
|
224
|
-
Shows tmuxinator's help. Aliased to `h`
|
225
|
-
```
|
226
|
-
tmuxinator help
|
227
|
-
```
|
228
|
-
|
229
|
-
Shows the shell commands that get executed for a project
|
230
|
-
```
|
231
|
-
tmuxinator debug [project]
|
232
|
-
```
|
233
|
-
|
234
|
-
Shows tmuxinator's version.
|
235
|
-
```
|
236
|
-
tmuxinator version
|
237
|
-
```
|
238
|
-
|
239
|
-
## FAQ
|
240
|
-
|
241
|
-
### Window names are not displaying properly?
|
242
|
-
|
243
|
-
Add `export DISABLE_AUTO_TITLE=true` to your `.zshrc` or `.bashrc`
|
244
|
-
|
245
|
-
## Contributing
|
246
|
-
|
247
|
-
To contribute, please read the [contributing guide](https://github.com/tmuxinator/tmuxinator/blob/master/CONTRIBUTING.md).
|
248
|
-
|
249
|
-
## Copyright
|
250
|
-
|
251
|
-
Copyright (c) 2010-2013 Allen Bargi. See LICENSE for further details.
|
data/Rakefile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require "bundler/gem_tasks"
|
data/completion/tmuxinator.bash
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
_tmuxinator() {
|
4
|
-
COMPREPLY=()
|
5
|
-
local word="${COMP_WORDS[COMP_CWORD]}"
|
6
|
-
|
7
|
-
if [ "$COMP_CWORD" -eq 1 ]; then
|
8
|
-
local commands="$(compgen -W "$(tmuxinator commands)" -- "$word")"
|
9
|
-
local projects="$(compgen -W "$(tmuxinator completions start)" -- "$word")"
|
10
|
-
|
11
|
-
COMPREPLY=( $commands $projects )
|
12
|
-
else
|
13
|
-
local words=("${COMP_WORDS[@]}")
|
14
|
-
unset words[0]
|
15
|
-
unset words[$COMP_CWORD]
|
16
|
-
local completions=$(tmuxinator completions "${words[@]}")
|
17
|
-
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
|
18
|
-
fi
|
19
|
-
}
|
20
|
-
|
21
|
-
complete -F _tmuxinator tmuxinator mux
|
data/completion/tmuxinator.fish
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
function __fish_tmuxinator_using_command
|
2
|
-
set cmd (commandline -opc)
|
3
|
-
if [ (count $cmd) -gt 1 ]
|
4
|
-
if [ $argv[1] = $cmd[2] ]
|
5
|
-
return 0
|
6
|
-
end
|
7
|
-
end
|
8
|
-
return 1
|
9
|
-
end
|
10
|
-
|
11
|
-
complete -f -c tmuxinator -a '(tmuxinator completions start)'
|
12
|
-
complete -f -c tmuxinator -a '(tmuxinator commands)'
|
13
|
-
complete -f -c tmuxinator -n '__fish_tmuxinator_using_command start' -a '(tmuxinator completions start)'
|
14
|
-
complete -f -c tmuxinator -n '__fish_tmuxinator_using_command open' -a '(tmuxinator completions open)'
|
15
|
-
complete -f -c tmuxinator -n '__fish_tmuxinator_using_command copy' -a '(tmuxinator completions copy)'
|
16
|
-
complete -f -c tmuxinator -n '__fish_tmuxinator_using_command delete' -a '(tmuxinator completions delete)'
|
data/completion/tmuxinator.zsh
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env zsh
|
2
|
-
|
3
|
-
if [[ ! -o interactive ]]; then
|
4
|
-
return
|
5
|
-
fi
|
6
|
-
|
7
|
-
compctl -K _tmuxinator tmuxinator mux
|
8
|
-
|
9
|
-
_tmuxinator() {
|
10
|
-
local words completions
|
11
|
-
read -cA words
|
12
|
-
|
13
|
-
if [ "${#words}" -eq 2 ]; then
|
14
|
-
completions="$(tmuxinator commands)"
|
15
|
-
else
|
16
|
-
completions="$(tmuxinator completions ${words[2,-2]})"
|
17
|
-
fi
|
18
|
-
|
19
|
-
reply=("${(ps:\n:)completions}")
|
20
|
-
}
|
data/tmuxinator.gemspec
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require "tmuxinator/version"
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "tmuxinator"
|
8
|
-
spec.version = Tmuxinator::VERSION
|
9
|
-
spec.authors = ["Allen Bargi"]
|
10
|
-
spec.email = ["allen.bargi@gmail.com"]
|
11
|
-
spec.description = %q{Create and manage complex tmux sessions easily.}
|
12
|
-
spec.summary = %q{Create and manage complex tmux sessions easily.}
|
13
|
-
spec.homepage = "https://github.com/aziz/tmuxinator"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.files = `git ls-files`.split($/)
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.post_install_message = %q{
|
22
|
-
__________________________________________________________
|
23
|
-
..........................................................
|
24
|
-
|
25
|
-
Thank you for installing tmuxinator.
|
26
|
-
|
27
|
-
Make sure that you've set these variables in your ENV:
|
28
|
-
|
29
|
-
$EDITOR, $SHELL
|
30
|
-
|
31
|
-
You can run `tmuxinator doctor` to make sure everything is set.
|
32
|
-
Happy tmuxing with tmuxinator!
|
33
|
-
|
34
|
-
..........................................................
|
35
|
-
__________________________________________________________
|
36
|
-
}
|
37
|
-
|
38
|
-
spec.required_rubygems_version = ">= 1.8.23"
|
39
|
-
|
40
|
-
spec.add_dependency "thor", ">= 0.18.0"
|
41
|
-
spec.add_dependency "erubis"
|
42
|
-
|
43
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
44
|
-
spec.add_development_dependency "rspec", ">= 2.14.0"
|
45
|
-
spec.add_development_dependency "simplecov"
|
46
|
-
spec.add_development_dependency "coveralls"
|
47
|
-
spec.add_development_dependency "awesome_print"
|
48
|
-
spec.add_development_dependency "pry"
|
49
|
-
spec.add_development_dependency "pry-nav"
|
50
|
-
spec.add_development_dependency "factory_girl"
|
51
|
-
end
|
52
|
-
|