tmuxinator 0.1.3 → 0.1.5
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.
- data/README.md +43 -30
- data/Rakefile +22 -0
- data/TODO +2 -21
- data/VERSION +1 -1
- data/lib/tmuxinator/cli.rb +21 -5
- data/tmuxinator.gemspec +23 -2
- metadata +5 -5
data/README.md
CHANGED
|
@@ -2,50 +2,55 @@
|
|
|
2
2
|
|
|
3
3
|
Create and manage tmux sessions easily. Inspired by Jon Druse's ([Screeninator](https://github.com/jondruse/screeninator)) and Arthur Chiu's ([Terminitor](http://github.com/achiu/terminitor))
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+

|
|
6
8
|
|
|
7
9
|
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
8
12
|
$ gem install tmuxinator
|
|
9
|
-
|
|
13
|
+
|
|
10
14
|
Then follow the instructions. You just have to drop a line in your ~/.bashrc file, similar to RVM if you've used that before:
|
|
11
15
|
|
|
12
|
-
|
|
16
|
+
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator
|
|
13
17
|
|
|
14
|
-
## Editor
|
|
18
|
+
## Editor and Shell
|
|
15
19
|
|
|
16
20
|
tmuxinator uses your shell's default editor for opening files. If you're not sure what that is type:
|
|
17
|
-
|
|
21
|
+
|
|
18
22
|
$ echo $EDITOR
|
|
19
|
-
|
|
20
|
-
For me that produces "mate -w"
|
|
23
|
+
|
|
24
|
+
For me that produces "mate -w"
|
|
21
25
|
If you want to change your default editor simple put a line in ~/.bashrc that changes it. Mine looks like this:
|
|
22
26
|
|
|
23
27
|
export EDITOR='mate -w'
|
|
24
28
|
|
|
29
|
+
It also uses $SHELL variable. which is always set by your shell.
|
|
30
|
+
|
|
25
31
|
## Usage
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
|
|
28
34
|
### Create a project ###
|
|
29
|
-
|
|
35
|
+
|
|
30
36
|
$ tmuxinator open project_name
|
|
31
|
-
|
|
32
|
-
Create or edit your projects with this command. Your default editor ($EDITOR) is used to open the file. If this is a new project you will see this default config:
|
|
37
|
+
|
|
38
|
+
Create or edit your projects with this command. aliased to `o`. Your default editor ($EDITOR) is used to open the file. If this is a new project you will see this default config:
|
|
33
39
|
|
|
34
40
|
# ~/.tmuxinator/project_name.yml
|
|
35
41
|
# you can make as many tabs as you wish...
|
|
36
42
|
|
|
37
|
-
escape: ``
|
|
38
43
|
project_name: tmuxinator
|
|
39
44
|
project_root: ~/code/rails_project
|
|
40
45
|
tabs:
|
|
41
46
|
- shell: git pull
|
|
42
47
|
- database: rails db
|
|
43
48
|
- console: rails c
|
|
44
|
-
- logs:
|
|
49
|
+
- logs:
|
|
45
50
|
- cd logs
|
|
46
51
|
- tail -f development.log
|
|
47
52
|
- ssh: ssh me@myhost
|
|
48
|
-
|
|
53
|
+
|
|
49
54
|
|
|
50
55
|
If a tab contains multiple commands, they will be 'joined' together with '&&'.
|
|
51
56
|
|
|
@@ -55,24 +60,22 @@ If you want to have your own default config, place it into $HOME/.tmuxinator/def
|
|
|
55
60
|
## Starting a project
|
|
56
61
|
|
|
57
62
|
$ start_project_name
|
|
58
|
-
|
|
63
|
+
|
|
59
64
|
This will fire up tmux with all the tabs you configured.
|
|
60
65
|
|
|
61
66
|
### Limitations ###
|
|
62
67
|
|
|
63
|
-
After you create a project, you will have to open a new shell window. This is because tmuxinator adds an
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
## Example
|
|
67
|
-
|
|
68
|
-

|
|
68
|
+
After you create a project, you will have to open a new shell window. This is because tmuxinator adds an
|
|
69
|
+
alias to bash (or any other shell you use, like zsh) to open tmux with the project config. You can reload your shell rc file
|
|
70
|
+
instead of openning a new window like this, for instance in bash you could do this:
|
|
69
71
|
|
|
72
|
+
$ source ~/.bashrc
|
|
70
73
|
|
|
71
74
|
## Other Commands
|
|
72
75
|
|
|
73
76
|
$ tmuxinator copy existing_project new_project
|
|
74
77
|
|
|
75
|
-
Copy an existing project.
|
|
78
|
+
Copy an existing project. aliased to `c`
|
|
76
79
|
|
|
77
80
|
|
|
78
81
|
$ tmuxinator update_scripts
|
|
@@ -81,24 +84,35 @@ Re-create the tmux scripts and aliases from the configs. Use this only if you ed
|
|
|
81
84
|
|
|
82
85
|
|
|
83
86
|
$ tmuxinator list
|
|
84
|
-
|
|
85
|
-
List all the projects you have configured
|
|
87
|
+
|
|
88
|
+
List all the projects you have configured. aliased to `l`
|
|
89
|
+
|
|
86
90
|
|
|
87
91
|
$ tmuxinator delete project_name
|
|
88
|
-
|
|
92
|
+
|
|
89
93
|
Remove a project
|
|
90
94
|
|
|
95
|
+
|
|
91
96
|
$ tmuxinator implode
|
|
92
|
-
|
|
93
|
-
Remove all tmuxinator configs, aliases and scripts.
|
|
94
97
|
|
|
98
|
+
Remove all tmuxinator configs, aliases and scripts. aliased to `i`
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
$ tmuxinator version
|
|
102
|
+
|
|
103
|
+
shows tmuxinator's version. aliased to `v`
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
$ tmuxinator help
|
|
107
|
+
|
|
108
|
+
shows tmuxinator's help. aliased to `h`
|
|
95
109
|
|
|
96
110
|
## Questions? Comments? Feature Request?
|
|
97
111
|
|
|
98
112
|
I would love to hear your feedback on this project! Send me a message!
|
|
99
113
|
|
|
100
114
|
## Contributing to tmuxinator
|
|
101
|
-
|
|
115
|
+
|
|
102
116
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
|
103
117
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
|
104
118
|
* Fork the project
|
|
@@ -109,5 +123,4 @@ I would love to hear your feedback on this project! Send me a message!
|
|
|
109
123
|
|
|
110
124
|
## Copyright
|
|
111
125
|
|
|
112
|
-
Copyright (c) 2010 Allen Bargi. See LICENSE.txt for
|
|
113
|
-
further details.
|
|
126
|
+
Copyright (c) 2010 Allen Bargi. See LICENSE.txt for further details.
|
data/Rakefile
CHANGED
|
@@ -19,6 +19,28 @@ Jeweler::Tasks.new do |gem|
|
|
|
19
19
|
gem.description = %Q{Create and manage complex tmux sessions easily.}
|
|
20
20
|
gem.email = "allen.bargi@gmail.com"
|
|
21
21
|
gem.authors = ["Allen Bargi"]
|
|
22
|
+
gem.post_install_message = %{
|
|
23
|
+
__________________________________________________________
|
|
24
|
+
..........................................................
|
|
25
|
+
|
|
26
|
+
Thank you for installing tmuxinator
|
|
27
|
+
Please be sure to to drop a line in your ~/.bashrc file, similar
|
|
28
|
+
to RVM if you've used that before:
|
|
29
|
+
|
|
30
|
+
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator
|
|
31
|
+
|
|
32
|
+
also ensure that you've set these variables in your ENV:
|
|
33
|
+
|
|
34
|
+
$EDITOR, $SHELL
|
|
35
|
+
|
|
36
|
+
you can run `tmuxinator doctor` to make sure everything is set.
|
|
37
|
+
happy tmuxing with tmuxinator!
|
|
38
|
+
|
|
39
|
+
..........................................................
|
|
40
|
+
__________________________________________________________
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
22
44
|
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
|
23
45
|
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
|
24
46
|
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
data/TODO
CHANGED
|
@@ -1,25 +1,6 @@
|
|
|
1
|
-
6. be sure to set the $SHELL and $EDITOR and path to aliases
|
|
2
|
-
11. improve readme file
|
|
3
|
-
|
|
4
|
-
7. have a doctor like home brew to test $SHELL and $EDITOR and path to aliases and tmux installation
|
|
5
|
-
8. push it to rubygems
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
4. support panes
|
|
9
|
-
5. install theme
|
|
10
|
-
|
|
11
1
|
Later:
|
|
2
|
+
x. support panes
|
|
3
|
+
x. install theme
|
|
12
4
|
x. add documentation
|
|
13
5
|
x. add tests
|
|
14
6
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
DONE
|
|
22
|
-
1. write a better sample
|
|
23
|
-
2. test reattaching already attached
|
|
24
|
-
9. cli respond to -v -h
|
|
25
|
-
10. add method missing for cli
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.5
|
data/lib/tmuxinator/cli.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Tmuxinator
|
|
|
16
16
|
|
|
17
17
|
# print the usage string, this is a fall through method.
|
|
18
18
|
def usage
|
|
19
|
-
puts
|
|
19
|
+
puts %{
|
|
20
20
|
Usage: tmuxinator ACTION [Arg]
|
|
21
21
|
|
|
22
22
|
ACTOINS:
|
|
@@ -34,7 +34,7 @@ module Tmuxinator
|
|
|
34
34
|
shows this help document
|
|
35
35
|
version
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
}
|
|
38
38
|
end
|
|
39
39
|
alias :help :usage
|
|
40
40
|
alias :h :usage
|
|
@@ -114,11 +114,11 @@ DOC
|
|
|
114
114
|
alias :ls :list
|
|
115
115
|
|
|
116
116
|
def version
|
|
117
|
-
system("cat #{File.dirname(__FILE__) + '/../../VERSION'}")
|
|
118
|
-
puts
|
|
117
|
+
system("cat #{File.dirname(__FILE__) + '/../../VERSION'}")
|
|
118
|
+
puts
|
|
119
119
|
end
|
|
120
120
|
alias :v :version
|
|
121
|
-
|
|
121
|
+
|
|
122
122
|
def update_scripts
|
|
123
123
|
Dir["#{root_dir}*.tmux"].each {|p| FileUtils.rm(p) }
|
|
124
124
|
aliases = []
|
|
@@ -129,6 +129,22 @@ DOC
|
|
|
129
129
|
Tmuxinator::ConfigWriter.write_aliases(aliases)
|
|
130
130
|
end
|
|
131
131
|
|
|
132
|
+
def doctor
|
|
133
|
+
print " cheking if tmux is installed ==> "
|
|
134
|
+
puts system("which tmux > /dev/null") ? "Yes" : "No"
|
|
135
|
+
print " cheking if $EDITOR is set ==> "
|
|
136
|
+
puts ENV['EDITOR'] ? "Yes" : "No"
|
|
137
|
+
print " cheking if $SHELL is set ==> "
|
|
138
|
+
puts ENV['SHELL'] ? "Yes" : "No"
|
|
139
|
+
puts %{
|
|
140
|
+
make sure you have this line in your ~/.bashrc file:
|
|
141
|
+
|
|
142
|
+
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
}
|
|
146
|
+
end
|
|
147
|
+
|
|
132
148
|
def method_missing(method, *args, &block)
|
|
133
149
|
puts "There's no command called #{method} in tmuxinator"
|
|
134
150
|
usage
|
data/tmuxinator.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{tmuxinator}
|
|
8
|
-
s.version = "0.1.
|
|
8
|
+
s.version = "0.1.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Allen Bargi"]
|
|
12
|
-
s.date = %q{2010-12-
|
|
12
|
+
s.date = %q{2010-12-12}
|
|
13
13
|
s.default_executable = %q{tmuxinator}
|
|
14
14
|
s.description = %q{Create and manage complex tmux sessions easily.}
|
|
15
15
|
s.email = %q{allen.bargi@gmail.com}
|
|
@@ -41,6 +41,27 @@ Gem::Specification.new do |s|
|
|
|
41
41
|
]
|
|
42
42
|
s.homepage = %q{http://github.com/aziz/tmuxinator}
|
|
43
43
|
s.licenses = ["MIT"]
|
|
44
|
+
s.post_install_message = %q{
|
|
45
|
+
__________________________________________________________
|
|
46
|
+
..........................................................
|
|
47
|
+
|
|
48
|
+
Thank you for installing tmuxinator
|
|
49
|
+
Please be sure to to drop a line in your ~/.bashrc file, similar
|
|
50
|
+
to RVM if you've used that before:
|
|
51
|
+
|
|
52
|
+
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator
|
|
53
|
+
|
|
54
|
+
also ensure that you've set these variables in your ENV:
|
|
55
|
+
|
|
56
|
+
$EDITOR, $SHELL
|
|
57
|
+
|
|
58
|
+
you can run `tmuxinator doctor` to make sure everything is set.
|
|
59
|
+
happy tmuxing with tmuxinator!
|
|
60
|
+
|
|
61
|
+
..........................................................
|
|
62
|
+
__________________________________________________________
|
|
63
|
+
|
|
64
|
+
}
|
|
44
65
|
s.require_paths = ["lib"]
|
|
45
66
|
s.rubygems_version = %q{1.3.7}
|
|
46
67
|
s.summary = %q{Create and manage complex tmux sessions easily.}
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tmuxinator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 17
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
9
|
+
- 5
|
|
10
|
+
version: 0.1.5
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Allen Bargi
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2010-12-
|
|
18
|
+
date: 2010-12-12 00:00:00 +01:00
|
|
19
19
|
default_executable: tmuxinator
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -114,7 +114,7 @@ has_rdoc: true
|
|
|
114
114
|
homepage: http://github.com/aziz/tmuxinator
|
|
115
115
|
licenses:
|
|
116
116
|
- MIT
|
|
117
|
-
post_install_message:
|
|
117
|
+
post_install_message: "\n __________________________________________________________\n ..........................................................\n\n Thank you for installing tmuxinator\n Please be sure to to drop a line in your ~/.bashrc file, similar \n to RVM if you've used that before:\n\n [[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator\n \n also ensure that you've set these variables in your ENV:\n \n $EDITOR, $SHELL\n \n you can run `tmuxinator doctor` to make sure everything is set.\n happy tmuxing with tmuxinator!\n\n ..........................................................\n __________________________________________________________\n \n "
|
|
118
118
|
rdoc_options: []
|
|
119
119
|
|
|
120
120
|
require_paths:
|