tmuxinator 0.6.11.pre → 0.6.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7580d698e47de64bdb5669ccbf2b0b2d54b91173
4
- data.tar.gz: f500e2dbb688ad4b1578074b7f2611e3a98f20c5
3
+ metadata.gz: 38f09af10a658caa15c32d1abe77373cc9e2d960
4
+ data.tar.gz: 8a17b9b5cf0de202edb22ead61cd148462e4a8fd
5
5
  SHA512:
6
- metadata.gz: 601567b57a56b065643a203ddcb501a7df753266735c13e170a78300e24fbba5a94c8c0193a06932a28e40fa204fa152cff49bb563883a437a515357dbbf0bb3
7
- data.tar.gz: ef2bb4342d816a4383c86b0005c23e223eed51af05a0c9c7074c43a5f8cff668d1874f1a18959b16ce89f9280666d5984bdbc7e0a758dc14eadc69847f582969
6
+ metadata.gz: 7fba40c695a6406361c67fc0275a2706577bce38b86e1b37d4a6311fac8957d9212aba70ca93c3b52150e7ec77a45cf52b2da030781f82fe2fa8c57dec694440
7
+ data.tar.gz: 6e39fbf6bcb98e0e7deac36693b931c1f1ff0fc024e7a6f0425bdb0c5345e2b59965511923ed8b37a0b2530604803dfc76a690d0da8463ed26e1201dc26b5db5
@@ -0,0 +1,22 @@
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
+ set __fish_tmuxinator_program_cmd (commandline -o)[1]
12
+
13
+ function __fish_tmuxinator_program
14
+ eval "$__fish_tmuxinator_program_cmd $argv"
15
+ end
16
+
17
+ complete -f -c $__fish_tmuxinator_program_cmd -a '(__fish_tmuxinator_program completions start)'
18
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_use_subcommand' -x -a "(__fish_tmuxinator_program commands)"
19
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command start' -a "(__fish_tmuxinator_program completions start)"
20
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command open' -a "(__fish_tmuxinator_program completions open)"
21
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command copy' -a "(__fish_tmuxinator_program completions copy)"
22
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command delete' -a "(__fish_tmuxinator_program completions delete)"
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+
3
+ _tmuxinator() {
4
+ COMPREPLY=()
5
+ local word
6
+ word="${COMP_WORDS[COMP_CWORD]}"
7
+
8
+ if [ "$COMP_CWORD" -eq 1 ]; then
9
+ local commands="$(compgen -W "$(tmuxinator commands)" -- "$word")"
10
+ local projects="$(compgen -W "$(tmuxinator completions start)" -- "$word")"
11
+
12
+ COMPREPLY=( $commands $projects )
13
+ elif [ "$COMP_CWORD" -eq 2 ]; then
14
+ local words
15
+ words=("${COMP_WORDS[@]}")
16
+ unset words[0]
17
+ unset words[$COMP_CWORD]
18
+ local completions
19
+ completions=$(tmuxinator completions "${words[@]}")
20
+ COMPREPLY=( $(compgen -W "$completions" -- "$word") )
21
+ fi
22
+ }
23
+
24
+ complete -F _tmuxinator tmuxinator mux
@@ -0,0 +1,22 @@
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
+ set __fish_tmuxinator_program_cmd (commandline -o)[1]
12
+
13
+ function __fish_tmuxinator_program
14
+ eval "$__fish_tmuxinator_program_cmd $argv"
15
+ end
16
+
17
+ complete -f -c $__fish_tmuxinator_program_cmd -a '(__fish_tmuxinator_program completions start)'
18
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_use_subcommand' -x -a "(__fish_tmuxinator_program commands)"
19
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command start' -a "(__fish_tmuxinator_program completions start)"
20
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command open' -a "(__fish_tmuxinator_program completions open)"
21
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command copy' -a "(__fish_tmuxinator_program completions copy)"
22
+ complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command delete' -a "(__fish_tmuxinator_program completions delete)"
@@ -0,0 +1,30 @@
1
+ #compdef tmuxinator mux
2
+
3
+ _tmuxinator() {
4
+ local commands projects
5
+ commands=(${(f)"$(tmuxinator commands zsh)"})
6
+ projects=(${(f)"$(tmuxinator completions start)"})
7
+
8
+ if (( CURRENT == 2 )); then
9
+ _describe -t commands "tmuxinator subcommands" commands
10
+ _describe -t projects "tmuxinator projects" projects
11
+ elif (( CURRENT == 3)); then
12
+ case $words[2] in
13
+ copy|debug|delete|open|start)
14
+ _arguments '*:projects:($projects)'
15
+ ;;
16
+ esac
17
+ fi
18
+
19
+ return
20
+ }
21
+
22
+ _tmuxinator
23
+
24
+ # Local Variables:
25
+ # mode: Shell-Script
26
+ # sh-indentation: 2
27
+ # indent-tabs-mode: nil
28
+ # sh-basic-offset: 2
29
+ # End:
30
+ # vim: ft=zsh sw=2 ts=2 et
@@ -21,6 +21,12 @@ root: ~/
21
21
  # Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
22
22
  # startup_window: logs
23
23
 
24
+ # Controls whether the tmux session should be attached to automatically. Defaults to true.
25
+ # attach: false
26
+
27
+ # Runs after everything. Use it to attach to tmux with custom options etc.
28
+ # post: tmux -CC attach -t <%= name %>
29
+
24
30
  windows:
25
31
  - editor:
26
32
  layout: main-vertical
@@ -12,60 +12,70 @@ if [ "$?" -eq 1 ]; then
12
12
  # Run pre command.
13
13
  <%= pre %>
14
14
 
15
- # Create the session and the first window.
16
- <%- if windows.first.root? -%>
17
- TMUX= <%= tmux %> new-session -d -s <%= name %> -n <%= windows.first.name %> <%= Tmuxinator::Config.default_path_option %> <%= windows.first.root %>
18
- <%- else -%>
15
+ # Create the session and the first window. Manually switch to root
16
+ # directory if required to support tmux < 1.9
19
17
  TMUX= <%= tmux %> new-session -d -s <%= name %> -n <%= windows.first.name %>
20
- <%- end -%>
18
+ <% if windows.first.root? %>
19
+ <%= windows.first.tmux_window_command_prefix %> <%= "cd #{windows.first.root}".shellescape %> C-m
20
+ <% end %>
21
21
 
22
- <%- if Tmuxinator::Config.version < 1.7 -%>
22
+ <% if Tmuxinator::Config.version < 1.7 %>
23
23
  # Set the default path for versions prior to 1.7
24
- <%- if root? -%>
24
+ <% if root? %>
25
25
  <%= tmux %> set-option -t <%= name %> <%= Tmuxinator::Config.default_path_option %> <%= root -%> 1>/dev/null
26
- <%- end -%>
27
- <%- end -%>
26
+ <% end %>
27
+ <% end %>
28
28
 
29
29
  # Create other windows.
30
- <%- windows.drop(1).each do |window| -%>
30
+ <% windows.drop(1).each do |window| %>
31
31
  <%= window.tmux_new_window_command %>
32
- <%- end -%>
32
+ <% end %>
33
33
 
34
- <%- windows.each do |window| -%>
34
+ <% windows.each do |window| %>
35
35
 
36
36
  # Window "<%= window.name %>"
37
- <%- unless window.panes? -%>
37
+ <% unless window.panes? %>
38
+ <% if window.project.pre_window %>
38
39
  <%= window.tmux_pre_window_command %>
39
- <%- window.commands.each do |command| -%>
40
+ <% end %>
41
+ <% window.commands.each do |command| %>
40
42
  <%= command %>
41
- <%- end -%>
42
- <%- else -%>
43
- <%- window.panes.each do |pane| -%>
43
+ <% end %>
44
+ <% else %>
45
+ <% window.panes.each do |pane| %>
46
+ <% if pane.project.pre_window %>
44
47
  <%= pane.tmux_pre_window_command %>
48
+ <% end %>
49
+ <% if pane.tab.pre %>
45
50
  <%= pane.tmux_pre_command %>
46
- <%- if pane.multiple_commands? %>
47
- <%- pane.commands.each do |command| -%>
51
+ <% end %>
52
+ <% if pane.multiple_commands? %>
53
+ <% pane.commands.each do |command| %>
48
54
  <%= pane.tmux_main_command(command) %>
49
- <%- end -%>
50
- <%- else -%>
55
+ <% end %>
56
+ <% else %>
51
57
  <%= pane.tmux_main_command(commands.first) %>
52
- <%- end -%>
58
+ <% end %>
53
59
 
54
- <%- unless pane.last? -%>
60
+ <% unless pane.last? %>
55
61
  <%= pane.tmux_split_command %>
56
- <%- end -%>
62
+ <% end %>
57
63
  <%= window.tmux_layout_command %>
58
- <%- end -%>
64
+ <% end %>
59
65
 
60
66
  <%= window.tmux_select_first_pane %>
61
- <%- end -%>
62
- <%- end -%>
67
+ <% end %>
68
+ <% end %>
63
69
 
64
70
  <%= tmux %> select-window -t <%= startup_window %>
65
71
  fi
66
72
 
73
+ <%- if attach? -%>
67
74
  if [ -z "$TMUX" ]; then
68
75
  <%= tmux %> -u attach-session -t <%= name %>
69
76
  else
70
77
  <%= tmux %> -u switch-client -t <%= name %>
71
78
  fi
79
+ <%- end -%>
80
+
81
+ <%= post %>
@@ -7,7 +7,7 @@ module Tmuxinator
7
7
  completions: "Used for shell completion",
8
8
  new: "Create a new project file and open it in your editor",
9
9
  open: "Alias of new",
10
- start: "Start a tmux session using a project's tmuxinator config",
10
+ start: "Start a tmux session using a project's tmuxinator config, with an optional [ALIAS] for project reuse",
11
11
  debug: "Output the shell commands that are generated by tmuxinator",
12
12
  copy: "Copy an existing project to a new project and open it in your editor",
13
13
  delete: "Deletes given project",
@@ -61,11 +61,11 @@ module Tmuxinator
61
61
  Kernel.system("$EDITOR #{config}") || doctor
62
62
  end
63
63
 
64
- desc "start [PROJECT]", COMMANDS[:start]
64
+ desc "start [PROJECT] [SESSION_NAME]", COMMANDS[:start]
65
65
  map "s" => :start
66
66
 
67
- def start(name)
68
- project = Tmuxinator::Config.validate(name)
67
+ def start(name, custom_name = nil)
68
+ project = Tmuxinator::Config.validate(name, custom_name )
69
69
 
70
70
  if project.deprecations.any?
71
71
  project.deprecations.each { |deprecation| say deprecation, :red }
@@ -79,8 +79,8 @@ module Tmuxinator
79
79
 
80
80
  desc "debug [PROJECT]", COMMANDS[:debug]
81
81
 
82
- def debug(name)
83
- project = Tmuxinator::Config.validate(name)
82
+ def debug(name, custom_name = nil)
83
+ project = Tmuxinator::Config.validate(name, custom_name )
84
84
  puts project.render
85
85
  end
86
86
 
@@ -27,7 +27,7 @@ module Tmuxinator
27
27
  end
28
28
 
29
29
  def default_path_option
30
- version && version <= 1.8 ? "default-path" : "-c"
30
+ version && version < 1.8 ? "default-path" : "-c"
31
31
  end
32
32
 
33
33
  def editor?
@@ -57,12 +57,12 @@ module Tmuxinator
57
57
  end
58
58
 
59
59
  def configs
60
- Dir["#{Tmuxinator::Config.root}/*.yml"].sort.map do |path|
61
- File.basename(path, ".yml")
60
+ Dir["#{Tmuxinator::Config.root}/**/*.yml"].sort.map do |path|
61
+ path.gsub("#{Tmuxinator::Config.root}/", "").gsub(".yml", "")
62
62
  end
63
63
  end
64
64
 
65
- def validate(name)
65
+ def validate(name, custom_name = nil)
66
66
  unless Tmuxinator::Config.exists?(name)
67
67
  puts "Project #{name} doesn't exist."
68
68
  exit!
@@ -77,7 +77,7 @@ module Tmuxinator
77
77
  exit!
78
78
  end
79
79
 
80
- project = Tmuxinator::Project.new(yaml)
80
+ project = Tmuxinator::Project.new(yaml, custom_name)
81
81
 
82
82
  unless project.windows?
83
83
  puts "Your project file should include some windows."
@@ -1,6 +1,6 @@
1
1
  module Tmuxinator
2
2
  class Pane
3
- attr_reader :commands, :project, :index, :project, :tab
3
+ attr_reader :commands, :project, :index, :tab
4
4
 
5
5
  def initialize(index, project, tab, *commands)
6
6
  @commands = commands
@@ -14,11 +14,15 @@ module Tmuxinator
14
14
  end
15
15
 
16
16
  def tmux_pre_command
17
- tab.pre ? "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{tab.pre.shellescape} C-m" : ""
17
+ return unless tab.pre
18
+
19
+ "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{tab.pre.shellescape} C-m"
18
20
  end
19
21
 
20
22
  def tmux_pre_window_command
21
- project.pre_window ? "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{project.pre_window.shellescape} C-m" : ""
23
+ return unless project.pre_window
24
+
25
+ "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{project.pre_window.shellescape} C-m"
22
26
  end
23
27
 
24
28
  def tmux_main_command(command)
@@ -4,10 +4,11 @@ module Tmuxinator
4
4
  include Tmuxinator::Deprecations
5
5
  include Tmuxinator::WemuxSupport
6
6
 
7
- attr_reader :yaml
7
+ attr_reader :yaml, :custom_name
8
8
 
9
- def initialize(yaml)
9
+ def initialize(yaml, custom_name = nil)
10
10
  @yaml = yaml
11
+ @custom_name = custom_name
11
12
  load_wemux_overrides if wemux?
12
13
  end
13
14
 
@@ -30,8 +31,8 @@ module Tmuxinator
30
31
  end
31
32
 
32
33
  def name
33
- name = yaml["project_name"] || yaml["name"]
34
- name.shellescape
34
+ name = custom_name || yaml["project_name"] || yaml["name"]
35
+ name.blank? ? nil : name.shellescape
35
36
  end
36
37
 
37
38
  def pre
@@ -55,6 +56,23 @@ module Tmuxinator
55
56
  end
56
57
  end
57
58
 
59
+ def attach
60
+ attach = true
61
+ if !yaml["attach"].nil?
62
+ attach = yaml["attach"]
63
+ end
64
+ attach
65
+ end
66
+
67
+ def post
68
+ post_config = yaml["post"]
69
+ if post_config.is_a?(Array)
70
+ post_config.join("; ")
71
+ else
72
+ post_config
73
+ end
74
+ end
75
+
58
76
  def tmux
59
77
  "#{tmux_command}#{tmux_options}#{socket}"
60
78
  end
@@ -115,6 +133,10 @@ module Tmuxinator
115
133
  !name.nil?
116
134
  end
117
135
 
136
+ def attach?
137
+ !!attach
138
+ end
139
+
118
140
  def window(i)
119
141
  "#{name}:#{i}"
120
142
  end
@@ -1,3 +1,3 @@
1
1
  module Tmuxinator
2
- VERSION = "0.6.11.pre"
2
+ VERSION = "0.6.11"
3
3
  end
@@ -55,8 +55,6 @@ module Tmuxinator
55
55
  @pre.join(" && ")
56
56
  elsif @pre.is_a?(String)
57
57
  @pre
58
- else
59
- ""
60
58
  end
61
59
  end
62
60
 
@@ -73,7 +71,9 @@ module Tmuxinator
73
71
  end
74
72
 
75
73
  def tmux_pre_window_command
76
- project.pre_window ? "#{project.tmux} send-keys -t #{tmux_window_target} #{project.pre_window.shellescape} C-m" : ""
74
+ return unless project.pre_window
75
+
76
+ "#{project.tmux} send-keys -t #{tmux_window_target} #{project.pre_window.shellescape} C-m"
77
77
  end
78
78
 
79
79
  def tmux_window_command_prefix
@@ -7,6 +7,14 @@ FactoryGirl.define do
7
7
  initialize_with { Tmuxinator::Project.new(file) }
8
8
  end
9
9
 
10
+ factory :project_with_custom_name, :class => Tmuxinator::Project do
11
+ transient do
12
+ file { YAML.load(File.read("#{File.expand_path("spec/fixtures/sample.yml")}")) }
13
+ end
14
+
15
+ initialize_with { Tmuxinator::Project.new(file, "custom") }
16
+ end
17
+
10
18
  factory :project_with_deprecations, :class => Tmuxinator::Project do
11
19
  transient do
12
20
  file { YAML.load(File.read("#{File.expand_path("spec/fixtures/sample.deprecations.yml")}")) }
@@ -22,4 +30,12 @@ FactoryGirl.define do
22
30
 
23
31
  initialize_with { Tmuxinator::Project.new(file) }
24
32
  end
33
+
34
+ factory :noname_project, :class => Tmuxinator::Project do
35
+ transient do
36
+ file { YAML.load(File.read("#{File.expand_path("spec/fixtures/noname.yml")}")) }
37
+ end
38
+
39
+ initialize_with { Tmuxinator::Project.new(file) }
40
+ end
25
41
  end
@@ -0,0 +1,6 @@
1
+ # ~/.tmuxinator/noname.yml
2
+ # you can make as many tabs as you wish...
3
+
4
+ root: ~/test
5
+ windows:
6
+ - test: echo foo
@@ -71,6 +71,24 @@ describe Tmuxinator::Cli do
71
71
  end
72
72
  end
73
73
 
74
+ describe "#start(custom_name)" do
75
+ before do
76
+ ARGV.replace(["start", "foo", "bar"])
77
+ allow(Tmuxinator::Config).to receive_messages(:validate => project)
78
+ allow(Tmuxinator::Config).to receive_messages(:version => 1.9)
79
+ allow(Kernel).to receive(:exec)
80
+ end
81
+
82
+ context "no deprecations" do
83
+ let(:project) { FactoryGirl.build(:project) }
84
+
85
+ it "starts the project" do
86
+ expect(Kernel).to receive(:exec)
87
+ capture_io { cli.start }
88
+ end
89
+ end
90
+ end
91
+
74
92
  describe "#new" do
75
93
  let(:file) { StringIO.new }
76
94
 
@@ -142,6 +160,12 @@ describe Tmuxinator::Cli do
142
160
  expect(project).to receive(:render)
143
161
  capture_io { cli.start }
144
162
  end
163
+
164
+ it "renders the project with custom session" do
165
+ ARGV.replace(["debug", "sample", "bar"])
166
+ expect(project).to receive(:render)
167
+ capture_io { cli.start }
168
+ end
145
169
  end
146
170
 
147
171
  describe "#delete" do
@@ -19,6 +19,28 @@ describe Tmuxinator::Config do
19
19
  end
20
20
  end
21
21
 
22
+ describe "#default_path_option" do
23
+ context ">= 1.8" do
24
+ before do
25
+ allow(Tmuxinator::Config).to receive(:version).and_return(1.8)
26
+ end
27
+
28
+ it "returns -c" do
29
+ expect(Tmuxinator::Config.default_path_option).to eq "-c"
30
+ end
31
+ end
32
+
33
+ context "< 1.8" do
34
+ before do
35
+ allow(Tmuxinator::Config).to receive(:version).and_return(1.7)
36
+ end
37
+
38
+ it "returns default-path" do
39
+ expect(Tmuxinator::Config.default_path_option).to eq "default-path"
40
+ end
41
+ end
42
+ end
43
+
22
44
  describe "#default?" do
23
45
  let(:root) { Tmuxinator::Config.root }
24
46
 
@@ -2,8 +2,10 @@ require "spec_helper"
2
2
 
3
3
  describe Tmuxinator::Project do
4
4
  let(:project) { FactoryGirl.build(:project) }
5
+ let(:project_with_custom_name) { FactoryGirl.build(:project_with_custom_name) }
5
6
  let(:project_with_deprecations) { FactoryGirl.build(:project_with_deprecations) }
6
7
  let(:wemux_project) { FactoryGirl.build(:wemux_project) }
8
+ let(:noname_project) { FactoryGirl.build(:noname_project) }
7
9
 
8
10
  describe "#initialize" do
9
11
  context "valid yaml" do
@@ -23,6 +25,15 @@ describe Tmuxinator::Project do
23
25
  expect(wemux_project.render).to_not be_empty
24
26
  end
25
27
  end
28
+
29
+ context "custom name" do
30
+ it "renders the tmux config with custom name" do
31
+ rendered = project_with_custom_name.render
32
+ expect(rendered).to_not be_empty
33
+ expect(rendered).to include("custom")
34
+ expect(rendered).to_not include("sample")
35
+ end
36
+ end
26
37
  end
27
38
 
28
39
  describe "#windows" do
@@ -51,6 +62,12 @@ describe Tmuxinator::Project do
51
62
  expect(project_with_deprecations.root).to include("test")
52
63
  end
53
64
  end
65
+
66
+ context "without root" do
67
+ it "doesn't throw an error" do
68
+ expect{noname_project.root}.to_not raise_error
69
+ end
70
+ end
54
71
  end
55
72
 
56
73
  describe "#name" do
@@ -71,6 +88,12 @@ describe Tmuxinator::Project do
71
88
  expect(wemux_project.name).to eq "wemux"
72
89
  end
73
90
  end
91
+
92
+ context "without name" do
93
+ it "displays error message" do
94
+ expect{noname_project.name}.to_not raise_error
95
+ end
96
+ end
74
97
  end
75
98
 
76
99
  describe "#pre_window" do
@@ -115,14 +115,13 @@ describe Tmuxinator::Window do
115
115
  end
116
116
  end
117
117
 
118
-
119
118
  context "pre is not present" do
120
119
  before do
121
120
  yaml["editor"].delete("pre")
122
121
  end
123
122
 
124
- it "returns an empty string" do
125
- expect(window.pre).to eq ""
123
+ it "returns nil" do
124
+ expect(window.pre).to be_nil
126
125
  end
127
126
  end
128
127
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tmuxinator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.11.pre
4
+ version: 0.6.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allen Bargi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-08 00:00:00.000000000 Z
12
+ date: 2015-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -59,104 +59,6 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.3'
62
- - !ruby/object:Gem::Dependency
63
- name: rspec
64
- requirement: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.1'
69
- type: :development
70
- prerelease: false
71
- version_requirements: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.1'
76
- - !ruby/object:Gem::Dependency
77
- name: simplecov
78
- requirement: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '0.9'
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.9'
90
- - !ruby/object:Gem::Dependency
91
- name: coveralls
92
- requirement: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.7'
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '0.7'
104
- - !ruby/object:Gem::Dependency
105
- name: awesome_print
106
- requirement: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.2'
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '1.2'
118
- - !ruby/object:Gem::Dependency
119
- name: pry
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.10'
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.10'
132
- - !ruby/object:Gem::Dependency
133
- name: pry-nav
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '0.2'
139
- type: :development
140
- prerelease: false
141
- version_requirements: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '0.2'
146
- - !ruby/object:Gem::Dependency
147
- name: factory_girl
148
- requirement: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '4.4'
153
- type: :development
154
- prerelease: false
155
- version_requirements: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '4.4'
160
62
  description: Create and manage complex tmux sessions easily.
161
63
  email:
162
64
  - allen.bargi@gmail.com
@@ -169,6 +71,10 @@ extra_rdoc_files: []
169
71
  files:
170
72
  - bin/mux
171
73
  - bin/tmuxinator
74
+ - completion/mux.fish
75
+ - completion/tmuxinator.bash
76
+ - completion/tmuxinator.fish
77
+ - completion/tmuxinator.zsh
172
78
  - lib/tmuxinator.rb
173
79
  - lib/tmuxinator/assets/sample.yml
174
80
  - lib/tmuxinator/assets/template.erb
@@ -183,6 +89,7 @@ files:
183
89
  - lib/tmuxinator/wemux_support.rb
184
90
  - lib/tmuxinator/window.rb
185
91
  - spec/factories/projects.rb
92
+ - spec/fixtures/noname.yml
186
93
  - spec/fixtures/sample.deprecations.yml
187
94
  - spec/fixtures/sample.yml
188
95
  - spec/fixtures/sample_wemux.yml
@@ -210,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
117
  requirements:
211
118
  - - ">="
212
119
  - !ruby/object:Gem::Version
213
- version: '0'
120
+ version: 1.9.3
214
121
  required_rubygems_version: !ruby/object:Gem::Requirement
215
122
  requirements:
216
123
  - - ">="
@@ -218,12 +125,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
125
  version: 1.8.23
219
126
  requirements: []
220
127
  rubyforge_project:
221
- rubygems_version: 2.2.2
128
+ rubygems_version: 2.4.5
222
129
  signing_key:
223
130
  specification_version: 4
224
131
  summary: Create and manage complex tmux sessions easily.
225
132
  test_files:
226
133
  - spec/factories/projects.rb
134
+ - spec/fixtures/noname.yml
227
135
  - spec/fixtures/sample.deprecations.yml
228
136
  - spec/fixtures/sample.yml
229
137
  - spec/fixtures/sample_wemux.yml