iterm_cli 1.0.4 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25cebfc56bdee4afdfa5ac2594068dc35cc10ab220ed718f89576bb3d74dca40
4
- data.tar.gz: 43f921ebf4da8de3f55f4e6321878ec2817f492e528e7522234134098d159500
3
+ metadata.gz: bfba25d6ae26ec4c50b17a971cedbb1bf50635bb740bf1b1317e098266038c5b
4
+ data.tar.gz: e26a2512bffc77d442b3fcfdc2077e4e3e8e6720818956617fa3d710be7211a1
5
5
  SHA512:
6
- metadata.gz: 763c71eef7da2f6658382203edb953954dfcd64cb94dcf70807e6a9b1262ea0750763414daa130646e5e85aa26e182cef5cdee354e8b79e421004001ff7209a3
7
- data.tar.gz: 3a1e2b3a76a1e02f4b23fb9612029d555b40a7f0716aa8e4da631e0a5acc724a6aed153c566476a6aca1e16e89cbc3d9cedf932ca9b32ff61df14b61d2348e74
6
+ metadata.gz: becbd85bb9a7dff570d7fc8b66a54d5cd6be9b6a243485950afe2a9adfc454780e5b1357c4c956d5839dc7e4c1782390b3993148fb09fe4c3299a9a1e307fe2b
7
+ data.tar.gz: 995e8b6d1e062e5ec272f35506e49c7bed1299eaa2a658752df7f38f4b6f1f9b74032381c3f61081a29d49dc618abf59f4378f374793db14ce20d1a2eb7ce40e
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/.rubocop.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ NewCops: disable
2
3
  Exclude:
3
4
  - bin/*
4
5
  - node_modules/**/*
@@ -33,7 +34,7 @@ Metrics/ClassLength:
33
34
  Metrics/CyclomaticComplexity:
34
35
  Enabled: false
35
36
 
36
- Metrics/LineLength:
37
+ Layout/LineLength:
37
38
  Enabled: false
38
39
 
39
40
  Metrics/MethodLength:
@@ -48,10 +49,10 @@ Metrics/PerceivedComplexity:
48
49
  Naming/HeredocDelimiterNaming:
49
50
  Enabled: false
50
51
 
51
- Naming/PredicateName:
52
+ Naming/PredicatePrefix:
52
53
  Enabled: false
53
54
 
54
- Naming/UncommunicativeMethodParamName:
55
+ Naming/MethodParameterName:
55
56
  Enabled: false
56
57
 
57
58
  Style/Alias:
@@ -107,6 +108,9 @@ Style/PerlBackrefs:
107
108
  Style/SpecialGlobalVars:
108
109
  Enabled: false
109
110
 
111
+ Style/StringConcatenation:
112
+ Enabled: false
113
+
110
114
  Style/StringLiterals:
111
115
  EnforcedStyle: double_quotes
112
116
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v1.1.0 (2026-09-25)
4
+
5
+ - Fall back to `Procfile` when `.iterm-sessions` is not present.
6
+ - Drop support for Ruby versions older than 3.4.4.
7
+
3
8
  ## v1.0.4 (2019-11-27)
4
9
 
5
10
  - Add `-l` option to `$SHELL` when `iterm new-session` is invoked with no argument.
data/Gemfile.lock ADDED
@@ -0,0 +1,100 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ iterm_cli (1.1.0)
5
+ thor (~> 1.5.0)
6
+ thor-zsh_completion (~> 0.1.1)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.4.3)
12
+ diff-lcs (1.6.2)
13
+ json (3.0.2)
14
+ language_server-protocol (3.17.0.6)
15
+ lint_roller (1.1.0)
16
+ parallel (2.2.0)
17
+ parser (3.3.12.0)
18
+ ast (~> 2.4.1)
19
+ racc
20
+ prism (1.9.0)
21
+ racc (1.8.1)
22
+ rainbow (3.1.1)
23
+ rake (10.5.0)
24
+ regexp_parser (2.13.0)
25
+ rspec (3.13.2)
26
+ rspec-core (~> 3.13.0)
27
+ rspec-expectations (~> 3.13.0)
28
+ rspec-mocks (~> 3.13.0)
29
+ rspec-core (3.13.6)
30
+ rspec-support (~> 3.13.0)
31
+ rspec-expectations (3.13.5)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.13.0)
34
+ rspec-mocks (3.13.8)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.13.0)
37
+ rspec-support (3.13.7)
38
+ rubocop (1.91.0)
39
+ json (>= 2.3)
40
+ language_server-protocol (~> 3.17.0.2)
41
+ lint_roller (~> 1.1.0)
42
+ parallel (>= 1.10)
43
+ parser (>= 3.3.0.2)
44
+ rainbow (>= 2.2.2, < 4.0)
45
+ regexp_parser (>= 2.9.3, < 3.0)
46
+ rubocop-ast (>= 1.49.0, < 2.0)
47
+ ruby-progressbar (~> 1.7)
48
+ unicode-display_width (>= 2.4.0, < 4.0)
49
+ rubocop-ast (1.50.0)
50
+ parser (>= 3.3.7.2)
51
+ prism (~> 1.7)
52
+ ruby-progressbar (1.13.0)
53
+ thor (1.5.0)
54
+ thor-zsh_completion (0.1.10)
55
+ thor (< 2)
56
+ unicode-display_width (3.3.0)
57
+ unicode-emoji (~> 4.3)
58
+ unicode-emoji (4.3.0)
59
+
60
+ PLATFORMS
61
+ arm64-darwin-25
62
+ ruby
63
+
64
+ DEPENDENCIES
65
+ bundler (~> 4.0)
66
+ iterm_cli!
67
+ rake (~> 10.0)
68
+ rspec
69
+ rubocop
70
+
71
+ CHECKSUMS
72
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
73
+ bundler (4.1.0.beta1) sha256=8a2dac8ca276ff4eff5efc2c6457b0044080fc1e431534ad7c5cc6187232b800
74
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
75
+ iterm_cli (1.1.0)
76
+ json (3.0.2) sha256=8e6d7e7b11384c21230430cef90b71f14849a34a1f4452796670f7c981bd19df
77
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
78
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
79
+ parallel (2.2.0) sha256=e1059c5fd7b649558a0aec38a769f06a42942bdb40503d005a59c352fe011cd8
80
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
81
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
82
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
83
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
84
+ rake (10.5.0) sha256=2b55a1ad44b5c945719d8a97c302a316af770b835187d12143e83069df5a8a49
85
+ regexp_parser (2.13.0) sha256=d105d95d2138954e73914d2fbfb3d0a8f8605a49a3e89864c32e78b9107cb770
86
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
87
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
88
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
89
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
90
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
91
+ rubocop (1.91.0) sha256=9c82b7bf391c5d7e3798c5b9996e22a1fe3bd7468e351dfdeb96140c058296d0
92
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
93
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
94
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
95
+ thor-zsh_completion (0.1.10) sha256=7e3e991954d8376b78ed24757c15202ee492239e0bacfb5d21a698269228b130
96
+ unicode-display_width (3.3.0) sha256=4b7aa66a4b11db50f6f7e98411215cd0dd10eaecb665d36eec5bcacb3fa0b613
97
+ unicode-emoji (4.3.0) sha256=11c02fa73290378c066bb0562cd4c87d8e1b706fbbe0059ca12746a4244de8ce
98
+
99
+ BUNDLED WITH
100
+ 4.1.0.beta1
data/README.md CHANGED
@@ -48,8 +48,8 @@ Or
48
48
 
49
49
  ### sessions
50
50
 
51
- `iterm sessions` manages multi sessions by file named `.iterm-sessions` in current directory.
52
- `.iterm-sessions` should be written in YAML (http://yaml.org/).
51
+ `iterm sessions` manages multiple sessions using a `.iterm-sessions` or `Procfile` configuration file in the current directory.
52
+ The configuration file should be written in YAML (http://yaml.org/).
53
53
 
54
54
  # keys are session names
55
55
  console:
@@ -97,4 +97,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/laboch
97
97
  ## License
98
98
 
99
99
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
100
-
data/bin/rspec ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
+
13
+ require "rubygems"
14
+ require "bundler/setup"
15
+
16
+ load Gem.bin_path("rspec-core", "rspec")
data/iterm_cli.gemspec CHANGED
@@ -18,10 +18,12 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r(^exe/)) {|f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "thor", "~> 0.19.1"
21
+ spec.required_ruby_version = ">= 3.4.4"
22
+
23
+ spec.add_dependency "thor", "~> 1.5.0"
22
24
  spec.add_dependency "thor-zsh_completion", "~> 0.1.1"
23
25
 
24
- spec.add_development_dependency "bundler", "~> 1.10"
26
+ spec.add_development_dependency "bundler", "~> 4.0"
25
27
  spec.add_development_dependency "rake", "~> 10.0"
26
28
  spec.add_development_dependency "rspec"
27
29
  spec.add_development_dependency "rubocop"
data/lib/iterm_cli/cli.rb CHANGED
@@ -7,17 +7,17 @@ module ITermCLI
7
7
 
8
8
  desc "start [SESSION_NAME]", "Start all sessions if it's not started"
9
9
  def start(*session_names)
10
- SessionManager.load(".iterm-sessions").start(session_names)
10
+ SessionManager.load(find_iterm_sessions_file!).start(session_names)
11
11
  end
12
12
 
13
13
  desc "kill [SESSION_NAME]", "Kill all sessions if it's started"
14
14
  def kill(*session_names)
15
- SessionManager.load(".iterm-sessions").kill(session_names)
15
+ SessionManager.load(find_iterm_sessions_file!).kill(session_names)
16
16
  end
17
17
 
18
18
  desc "ls", "List sessions"
19
19
  def ls
20
- SessionManager.load(".iterm-sessions").list
20
+ SessionManager.load(find_iterm_sessions_file!).list
21
21
  end
22
22
 
23
23
  map(
@@ -25,6 +25,16 @@ module ITermCLI
25
25
  "k" => "kill",
26
26
  "l" => "ls",
27
27
  )
28
+
29
+ private
30
+ def find_iterm_sessions_file!
31
+ %w(.iterm-sessions Procfile).each do |path|
32
+ return path if File.exist?(path)
33
+ end
34
+
35
+ warn ".iterm-sessions or Procfile required"
36
+ exit 1
37
+ end
28
38
  end
29
39
 
30
40
  class CLI < Thor
@@ -48,7 +58,7 @@ module ITermCLI
48
58
  Terminal::SendKeys.call(keys, target: options.target)
49
59
  end
50
60
 
51
- desc "sessions SUBCOMMAND ...ARGS", "Manage sessions by .iterm-sessions"
61
+ desc "sessions SUBCOMMAND ...ARGS", "Manage sessions by .iterm-sessions (or Procfile)"
52
62
  subcommand "sessions", SessionsCommand
53
63
 
54
64
  map(
@@ -59,7 +59,7 @@ module ITermCLI
59
59
  def list
60
60
  existed = existed_session_names
61
61
  column_width = sessions.values.map {|s| s.name.length }.max
62
- sessions.values.each do |session|
62
+ sessions.each_value do |session|
63
63
  prefix = if existed.include?(session.name)
64
64
  "*"
65
65
  else
@@ -1,4 +1,5 @@
1
1
  require "shellwords"
2
+ require "tmpdir"
2
3
  module ITermCLI
3
4
  module Terminal
4
5
  class NewSession < Function
@@ -1,3 +1,3 @@
1
1
  module ITermCLI
2
- VERSION = "1.0.4".freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iterm_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - labocho
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2019-11-27 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: thor
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 0.19.1
18
+ version: 1.5.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 0.19.1
25
+ version: 1.5.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: thor-zsh_completion
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +43,14 @@ dependencies:
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '1.10'
46
+ version: '4.0'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '1.10'
53
+ version: '4.0'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: rake
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -109,10 +108,12 @@ files:
109
108
  - CHANGELOG.md
110
109
  - CODE_OF_CONDUCT.md
111
110
  - Gemfile
111
+ - Gemfile.lock
112
112
  - LICENSE.txt
113
113
  - README.md
114
114
  - Rakefile
115
115
  - bin/console
116
+ - bin/rspec
116
117
  - bin/rubocop
117
118
  - bin/setup
118
119
  - exe/iterm
@@ -130,7 +131,6 @@ homepage: https://github.com/labocho/iterm_cli
130
131
  licenses:
131
132
  - MIT
132
133
  metadata: {}
133
- post_install_message:
134
134
  rdoc_options: []
135
135
  require_paths:
136
136
  - lib
@@ -138,15 +138,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - ">="
140
140
  - !ruby/object:Gem::Version
141
- version: '0'
141
+ version: 3.4.4
142
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  requirements: []
148
- rubygems_version: 3.0.3
149
- signing_key:
148
+ rubygems_version: 4.0.3
150
149
  specification_version: 4
151
150
  summary: Command line interface for iTerm2
152
151
  test_files: []