Update Thor dependency and everything else too 🙈 (#959)

* Update dependencies

* Revert some things

* Fix merged files

* feat: add stop_all command (#945)

* Start implementation

* Fix command, add some docs

* Sort cli args

* Update cli spec

* Fix rubocop issues

* feat: Add --no-pre-window option to start command

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* chore: Fix coveralls to run from GH actions

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* chore: Bump tmuxinator to v3.3.4

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* Implement suggestions

* Update readme and changelog

* Extract, fix rubocop issues

* Fix call issue

* Fix alignment

* Fix tests

* Remove alias

* Add alias

* Add test for alias

* Remove alias test

* refactor: fix codeclimate complexity

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

---------

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>
Co-authored-by: Andrew Kofink <ajkofink@gmail.com>

* Add changelog

* feat: add stop_all command (#945)

* Start implementation

* Fix command, add some docs

* Sort cli args

* Update cli spec

* Fix rubocop issues

* feat: Add --no-pre-window option to start command

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* chore: Fix coveralls to run from GH actions

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* chore: Bump tmuxinator to v3.3.4

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

* Implement suggestions

* Update readme and changelog

* Extract, fix rubocop issues

* Fix call issue

* Fix alignment

* Fix tests

* Remove alias

* Add alias

* Add test for alias

* Remove alias test

* refactor: fix codeclimate complexity

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>

---------

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>
Co-authored-by: Andrew Kofink <ajkofink@gmail.com>

* Fix double string freeze

* Fix PR feedback, failing tests

* Add explaining comment

* Fix version parse

* Update tmuxinator.gemspec

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove XDG depedency

---------

Signed-off-by: Andrew Kofink <ajkofink@gmail.com>
Co-authored-by: Andrew Kofink <ajkofink@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Hans Schnedlitz
2025-08-02 13:44:00 +02:00
committed by GitHub
parent fe37bf0046
commit dfcf423a91
12 changed files with 65 additions and 88 deletions

View File

@@ -4,9 +4,7 @@ AllCops:
- "db/schema.rb" - "db/schema.rb"
DisplayCopNames: true DisplayCopNames: true
StyleGuideCopsOnly: false StyleGuideCopsOnly: false
TargetRubyVersion: 2.6 TargetRubyVersion: 2.7
Rails:
Enabled: false
Layout/AccessModifierIndentation: Layout/AccessModifierIndentation:
Description: Check indentation of private/protected visibility modifiers. Description: Check indentation of private/protected visibility modifiers.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
@@ -15,7 +13,7 @@ Layout/AccessModifierIndentation:
SupportedStyles: SupportedStyles:
- outdent - outdent
- indent - indent
Layout/AlignHash: Layout/HashAlignment:
Description: Align the elements of a hash literal if they span more than one line. Description: Align the elements of a hash literal if they span more than one line.
Enabled: true Enabled: true
EnforcedHashRocketStyle: key EnforcedHashRocketStyle: key
@@ -26,7 +24,7 @@ Layout/AlignHash:
- always_ignore - always_ignore
- ignore_implicit - ignore_implicit
- ignore_explicit - ignore_explicit
Layout/AlignParameters: Layout/ParameterAlignment:
Description: Align the parameters of a method call if they span more than one line. Description: Align the parameters of a method call if they span more than one line.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
Enabled: true Enabled: true
@@ -50,14 +48,6 @@ Style/BarePercentLiterals:
SupportedStyles: SupportedStyles:
- percent_q - percent_q
- bare_percent - bare_percent
Style/BracesAroundHashParameters:
Description: Enforce braces style around hash parameters.
Enabled: true
EnforcedStyle: no_braces
SupportedStyles:
- braces
- no_braces
- context_dependent
Layout/CaseIndentation: Layout/CaseIndentation:
Description: Indentation of when in a case/when/[else/]end. Description: Indentation of when in a case/when/[else/]end.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
@@ -148,7 +138,7 @@ Naming/FileName:
Layout/FirstParameterIndentation: Layout/FirstParameterIndentation:
Description: Checks the indentation of the first parameter in a method call. Description: Checks the indentation of the first parameter in a method call.
Enabled: true Enabled: true
EnforcedStyle: special_for_inner_method_call_in_parentheses EnforcedStyle: consistent
SupportedStyles: SupportedStyles:
- consistent - consistent
- special_for_inner_method_call - special_for_inner_method_call
@@ -198,7 +188,7 @@ Layout/IndentationWidth:
StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
Enabled: true Enabled: true
Width: 2 Width: 2
Layout/IndentHash: Layout/FirstHashElementIndentation:
Description: Checks the indentation of the first key in a hash literal. Description: Checks the indentation of the first key in a hash literal.
Enabled: true Enabled: true
EnforcedStyle: special_inside_parentheses EnforcedStyle: special_inside_parentheses
@@ -281,7 +271,7 @@ Style/PercentQLiterals:
SupportedStyles: SupportedStyles:
- lower_case_q - lower_case_q
- upper_case_q - upper_case_q
Naming/PredicateName: Naming/PredicatePrefix:
Description: Check the names of predicate methods. Description: Check the names of predicate methods.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
Enabled: true Enabled: true
@@ -289,7 +279,7 @@ Naming/PredicateName:
- is_ - is_
- has_ - has_
- have_ - have_
NamePrefixBlacklist: ForbiddenPrefixes:
- is_ - is_
Exclude: Exclude:
- spec/**/* - spec/**/*
@@ -401,9 +391,9 @@ Layout/SpaceInsideHashLiteralBraces:
Style/SymbolProc: Style/SymbolProc:
Description: Use symbols as procs instead of blocks when possible. Description: Use symbols as procs instead of blocks when possible.
Enabled: true Enabled: true
IgnoredMethods: AllowedMethods:
- respond_to - respond_to
Layout/TrailingBlankLines: Layout/TrailingEmptyLines:
Description: Checks trailing blank lines and final newline. Description: Checks trailing blank lines and final newline.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
Enabled: true Enabled: true
@@ -424,7 +414,7 @@ Style/TrivialAccessors:
ExactNameMatch: false ExactNameMatch: false
AllowPredicates: false AllowPredicates: false
AllowDSLWriters: false AllowDSLWriters: false
Whitelist: AllowedMethods:
- to_ary - to_ary
- to_a - to_a
- to_c - to_c
@@ -480,7 +470,7 @@ Metrics/CyclomaticComplexity:
cases needed to validate a method. cases needed to validate a method.
Enabled: false Enabled: false
Max: 6 Max: 6
Metrics/LineLength: Layout/LineLength:
Description: Limit lines to 80 characters. Description: Limit lines to 80 characters.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
Enabled: true Enabled: true
@@ -560,7 +550,7 @@ Style/Alias:
Description: Use alias_method instead of alias. Description: Use alias_method instead of alias.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
Enabled: false Enabled: false
Layout/AlignArray: Layout/ArrayAlignment:
Description: Align the elements of an array literal if they span more than one line. Description: Align the elements of an array literal if they span more than one line.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
Enabled: true Enabled: true
@@ -672,7 +662,7 @@ Style/EvenOdd:
Description: Favor the use of Fixnum#even? && Fixnum#odd? Description: Favor the use of Fixnum#even? && Fixnum#odd?
StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
Enabled: false Enabled: false
Style/FlipFlop: Lint/FlipFlop:
Description: Checks for flip flops Description: Checks for flip flops
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
Enabled: false Enabled: false
@@ -683,7 +673,7 @@ Style/IfWithSemicolon:
Layout/IndentationConsistency: Layout/IndentationConsistency:
Description: Keep indentation straight. Description: Keep indentation straight.
Enabled: true Enabled: true
Layout/IndentArray: Layout/FirstArrayElementIndentation:
Description: Checks the indentation of the first element in an array literal. Description: Checks the indentation of the first element in an array literal.
Enabled: true Enabled: true
Style/InfiniteLoop: Style/InfiniteLoop:
@@ -838,7 +828,7 @@ Style/StructInheritance:
Description: Checks for inheritance from Struct.new. Description: Checks for inheritance from Struct.new.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new
Enabled: true Enabled: true
Layout/Tab: Layout/IndentationStyle:
Description: No hard tabs. Description: No hard tabs.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
Enabled: true Enabled: true
@@ -850,10 +840,10 @@ Style/UnlessElse:
Description: Do not use unless with else. Rewrite these with the positive case first. Description: Do not use unless with else. Rewrite these with the positive case first.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
Enabled: true Enabled: true
Style/UnneededCapitalW: Style/RedundantCapitalW:
Description: Checks for %W when interpolation is not needed. Description: Checks for %W when interpolation is not needed.
Enabled: true Enabled: true
Style/UnneededPercentQ: Style/RedundantPercentQ:
Description: Checks for %q/%Q when single quotes or double quotes would do. Description: Checks for %q/%Q when single quotes or double quotes would do.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
Enabled: true Enabled: true
@@ -911,9 +901,6 @@ Lint/EmptyEnsure:
Lint/EmptyInterpolation: Lint/EmptyInterpolation:
Description: Checks for empty string interpolation. Description: Checks for empty string interpolation.
Enabled: true Enabled: true
Lint/EndInMethod:
Description: END blocks should not be placed inside method definitions.
Enabled: true
Lint/EnsureReturn: Lint/EnsureReturn:
Description: Do not use return in an ensure block. Description: Do not use return in an ensure block.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
@@ -921,7 +908,7 @@ Lint/EnsureReturn:
Security/Eval: Security/Eval:
Description: The use of eval represents a serious security risk. Description: The use of eval represents a serious security risk.
Enabled: true Enabled: true
Lint/HandleExceptions: Lint/SuppressedException:
Description: Don't suppress exception. Description: Don't suppress exception.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
Enabled: false Enabled: false
@@ -948,7 +935,7 @@ Lint/ShadowingOuterLocalVariable:
Description: Do not use the same name as outer local variable for block arguments Description: Do not use the same name as outer local variable for block arguments
or block local variables. or block local variables.
Enabled: true Enabled: true
Lint/StringConversionInInterpolation: Lint/RedundantStringCoercion:
Description: Checks for Object#to_s usage in string interpolation. Description: Checks for Object#to_s usage in string interpolation.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
Enabled: true Enabled: true
@@ -973,7 +960,7 @@ Lint/UselessAssignment:
Description: Checks for useless assignment to a local variable. Description: Checks for useless assignment to a local variable.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
Enabled: true Enabled: true
Lint/UselessComparison: Lint/BinaryOperatorWithIdenticalOperands:
Description: Checks for comparison of something with itself. Description: Checks for comparison of something with itself.
Enabled: true Enabled: true
Lint/UselessElseWithoutRescue: Lint/UselessElseWithoutRescue:

View File

@@ -2,6 +2,9 @@
## Misc ## Misc
- Add Ruby 3.4 to the test matrix - Add Ruby 3.4 to the test matrix
- Document new from session feature in the README - Document new from session feature in the README
- Update required Ruby version to >=2.7
- Update runtime dependencies to up-to-date versions
- Update development dependencies to up-to-date versions
## Fixes ## Fixes
- Properly pass args with equals (=) in their values - Properly pass args with equals (=) in their values
- Fix `fish-shell` completion - Fix `fish-shell` completion

View File

@@ -5,7 +5,6 @@ require "fileutils"
require "shellwords" require "shellwords"
require "thor" require "thor"
require "thor/version" require "thor/version"
require "xdg"
require "yaml" require "yaml"
module Tmuxinator module Tmuxinator

View File

@@ -94,7 +94,7 @@ module Tmuxinator
no_commands do no_commands do
def new_project(name) def new_project(name)
project_file = find_project_file(name, options[:local]) project_file = find_project_file(name, local: options[:local])
Kernel.system("$EDITOR #{project_file}") || doctor Kernel.system("$EDITOR #{project_file}") || doctor
end end
@@ -146,14 +146,14 @@ module Tmuxinator
end end
} }
path = config_path(name, options[:local]) path = config_path(name, local: options[:local])
File.open(path, "w") do |f| File.open(path, "w") do |f|
f.write(YAML.dump(yaml)) f.write(YAML.dump(yaml))
end end
end end
def find_project_file(name, local = false) def find_project_file(name, local: false)
path = config_path(name, local) path = config_path(name, local: local)
if File.exist?(path) if File.exist?(path)
path path
else else
@@ -161,7 +161,7 @@ module Tmuxinator
end end
end end
def config_path(name, local = false) def config_path(name, local: false)
if local if local
Tmuxinator::Config::LOCAL_DEFAULTS[0] Tmuxinator::Config::LOCAL_DEFAULTS[0]
else else
@@ -216,7 +216,7 @@ module Tmuxinator
def show_continuation_prompt def show_continuation_prompt
say say
print "Press ENTER to continue." print "Press ENTER to continue."
STDIN.getc $stdin.getc
end end
def kill_project(project) def kill_project(project)

View File

@@ -20,7 +20,7 @@ module Tmuxinator
end end
def home def home
ENV["HOME"] + "/.tmuxinator" "#{ENV['HOME']}/.tmuxinator"
end end
def home? def home?
@@ -31,7 +31,9 @@ module Tmuxinator
# a custom value. (e.g. if $XDG_CONFIG_HOME is set to ~/my-config, the # a custom value. (e.g. if $XDG_CONFIG_HOME is set to ~/my-config, the
# return value will be ~/my-config/tmuxinator) # return value will be ~/my-config/tmuxinator)
def xdg def xdg
XDG["CONFIG"].to_s + "/tmuxinator" xdg_config_directory = ENV.fetch("XDG_CONFIG_HOME", "~/.config")
config_home = File.expand_path(xdg_config_directory)
File.join(config_home, "tmuxinator")
end end
def xdg? def xdg?
@@ -203,7 +205,7 @@ module Tmuxinator
name = options[:name] name = options[:name]
options[:force_attach] ||= false options[:force_attach] ||= false
options[:force_detach] ||= false options[:force_detach] ||= false
project_config = options.fetch(:project_config) { false } project_config = options.fetch(:project_config, false)
project_file = if valid_project_config?(project_config) project_file = if valid_project_config?(project_config)
project_config project_config
elsif valid_local_project?(name) elsif valid_local_project?(name)

View File

@@ -36,11 +36,8 @@ module Tmuxinator
`on_project_exit`) and will be removed in a future release. `on_project_exit`) and will be removed in a future release.
M M
attr_reader :yaml attr_reader :yaml, :force_attach, :force_detach, :custom_name,
attr_reader :force_attach :no_pre_window
attr_reader :force_detach
attr_reader :custom_name
attr_reader :no_pre_window
class << self class << self
include Tmuxinator::Util include Tmuxinator::Util
@@ -53,8 +50,8 @@ module Tmuxinator
content = render_template(path, binding) content = render_template(path, binding)
YAML.safe_load(content, aliases: true) YAML.safe_load(content, aliases: true)
rescue SyntaxError, StandardError => error rescue SyntaxError, StandardError => e
raise "Failed to parse config file: #{error.message}" raise "Failed to parse config file: #{e.message}"
end end
new(yaml, options) new(yaml, options)
@@ -171,13 +168,8 @@ module Tmuxinator
end end
def attach? def attach?
yaml_attach = if yaml["attach"].nil? yaml_attach = yaml["attach"].nil? || yaml["attach"]
true force_attach || !force_detach && yaml_attach
else
yaml["attach"]
end
attach = force_attach || !force_detach && yaml_attach
attach
end end
def pre_window def pre_window
@@ -413,17 +405,16 @@ module Tmuxinator
def pane_title_position_not_valid_warning def pane_title_position_not_valid_warning
print_warning( print_warning(
"The specified pane title position " + "The specified pane title position '#{yaml['pane_title_position']}' " \
"\"#{yaml['pane_title_position']}\" is not valid. " + "is not valid. Please choose one of: top, bottom, or off."
"Please choose one of: top, bottom, or off."
) )
end end
def pane_titles_not_supported_warning def pane_titles_not_supported_warning
print_warning( print_warning(
"You have enabled pane titles in your configuration, " + "You have enabled pane titles in your configuration, but the " \
"but the feature is not supported by your version of tmux.\n" + "feature is not supported by your version of tmux.\nPlease consider " \
"Please consider upgrading to a version that supports it (tmux >=2.6)." "upgrading to a version that supports it (tmux >=2.6)."
) )
end end

View File

@@ -29,7 +29,7 @@ module Tmuxinator
end end
def layout def layout
yaml["layout"] ? yaml["layout"].shellescape : nil yaml["layout"]&.shellescape
end end
def synchronize def synchronize
@@ -139,7 +139,7 @@ module Tmuxinator
end end
def synchronize_before? def synchronize_before?
synchronize == true || synchronize == "before" [true, "before"].include?(synchronize)
end end
def synchronize_after? def synchronize_after?

View File

@@ -924,7 +924,7 @@ describe Tmuxinator::Cli do
end end
it "should generate a project file" do it "should generate a project file" do
new_path = described_class.new.find_project_file(name, false) new_path = described_class.new.find_project_file(name, local: false)
expect(new_path).to eq path expect(new_path).to eq path
expect(File).to exist new_path expect(File).to exist new_path
end end
@@ -946,7 +946,7 @@ describe Tmuxinator::Cli do
end end
it "should _not_ generate a new project file" do it "should _not_ generate a new project file" do
new_path = described_class.new.find_project_file(name, false) new_path = described_class.new.find_project_file(name, local: false)
expect(new_path).to eq path expect(new_path).to eq path
expect(File).to exist new_path expect(File).to exist new_path
expect(File.read(new_path)).to match %r{#{extra}} expect(File.read(new_path)).to match %r{#{extra}}

View File

@@ -55,7 +55,8 @@ describe Tmuxinator::Config do
Dir.mktmpdir do |dir| Dir.mktmpdir do |dir|
config_parent = "#{dir}/non_existent_parent/s" config_parent = "#{dir}/non_existent_parent/s"
allow(XDG).to receive(:[]).with("CONFIG").and_return config_parent allow(ENV).to receive(:fetch).with("XDG_CONFIG_HOME", "~/.config").
and_return config_parent
expect(described_class.directory). expect(described_class.directory).
to eq "#{config_parent}/tmuxinator" to eq "#{config_parent}/tmuxinator"
expect(File.directory?("#{config_parent}/tmuxinator")).to be true expect(File.directory?("#{config_parent}/tmuxinator")).to be true
@@ -69,7 +70,6 @@ describe Tmuxinator::Config do
it "is $TMUXINATOR_CONFIG" do it "is $TMUXINATOR_CONFIG" do
allow(ENV).to receive(:[]).with("TMUXINATOR_CONFIG"). allow(ENV).to receive(:[]).with("TMUXINATOR_CONFIG").
and_return "expected" and_return "expected"
# allow(XDG).to receive(:[]).with("CONFIG").and_return "expected"
allow(File).to receive(:directory?).and_return true allow(File).to receive(:directory?).and_return true
expect(described_class.environment).to eq "expected" expect(described_class.environment).to eq "expected"
end end
@@ -87,7 +87,6 @@ describe Tmuxinator::Config do
context "environment variable $TMUXINATOR_CONFIG is set and empty" do context "environment variable $TMUXINATOR_CONFIG is set and empty" do
it "is an empty string" do it "is an empty string" do
allow(XDG).to receive(:[]).with("CONFIG").and_return ""
allow(ENV).to receive(:[]).with("TMUXINATOR_CONFIG").and_return "" allow(ENV).to receive(:[]).with("TMUXINATOR_CONFIG").and_return ""
expect(described_class.environment).to eq "" expect(described_class.environment).to eq ""
end end
@@ -136,7 +135,7 @@ describe Tmuxinator::Config do
describe "#xdg" do describe "#xdg" do
it "is $XDG_CONFIG_HOME/tmuxinator" do it "is $XDG_CONFIG_HOME/tmuxinator" do
expect(described_class.xdg).to eq "#{XDG['CONFIG_HOME']}/tmuxinator" expect(described_class.xdg).to eq File.expand_path("~/.config/tmuxinator")
end end
end end
@@ -181,7 +180,8 @@ describe Tmuxinator::Config do
before do before do
expect(Tmuxinator::Doctor).to receive(:installed?).and_return(true) expect(Tmuxinator::Doctor).to receive(:installed?).and_return(true)
allow_any_instance_of(Kernel).to receive(:`).with(/tmux\s\-V/). allow_any_instance_of(Kernel).to receive(:`).
with(/tmux\s-V/).
and_return("tmux #{version}") and_return("tmux #{version}")
end end

View File

@@ -12,7 +12,7 @@ describe Tmuxinator::WemuxSupport do
it "renders the template" do it "renders the template" do
expect(File).to receive(:read).at_least(:once) { "wemux ls 2>/dev/null" } expect(File).to receive(:read).at_least(:once) { "wemux ls 2>/dev/null" }
expect(instance.render).to match %r{wemux.ls.2>\/dev\/null} expect(instance.render).to match %r{wemux.ls.2>/dev/null}
end end
end end

View File

@@ -2,7 +2,6 @@
require "pry" require "pry"
require "simplecov" require "simplecov"
require "xdg"
SimpleCov.start do SimpleCov.start do
if ENV["CI"] if ENV["CI"]
@@ -59,11 +58,11 @@ def tmux_config(options = {})
"bell-on-alert off", "bell-on-alert off",
] ]
if base_index = options.fetch(:base_index) { 1 } if base_index = options.fetch(:base_index, 1)
standard_options << "base-index #{base_index}" standard_options << "base-index #{base_index}"
end end
if pane_base_index = options.fetch(:pane_base_index) { 1 } if pane_base_index = options.fetch(:pane_base_index, 1)
standard_options << "pane-base-index #{pane_base_index}" standard_options << "pane-base-index #{pane_base_index}"
end end

View File

@@ -37,22 +37,18 @@ Gem::Specification.new do |s|
__________________________________________________________ __________________________________________________________
} }
s.required_rubygems_version = ">= 1.8.23" s.required_rubygems_version = Gem::Requirement.new(">= 2.7")
s.required_ruby_version = ">= 2.6.7" s.required_ruby_version = ">= 2.7"
s.add_dependency "erubi", "~> 1.7" s.add_dependency "erubi", "~> 1.13"
s.add_dependency "thor", "~> 1.3.0" s.add_dependency "thor", "~> 1.4.0"
s.add_dependency "xdg", "~> 2.2", ">= 2.2.5"
s.add_development_dependency "awesome_print", "~> 1.9" s.add_development_dependency "amazing_print", "~> 1.8"
s.add_development_dependency "bundler", ">= 1.3" s.add_development_dependency "bundler", ">= 1.3"
s.add_development_dependency "factory_bot", "~> 6.5" s.add_development_dependency "factory_bot", "~> 6.5"
s.add_development_dependency "pry", "~> 0.15" s.add_development_dependency "pry", "~> 0.15"
s.add_development_dependency "rake", "~> 13.2" s.add_development_dependency "rake", "~> 13.3"
s.add_development_dependency "rspec", "~> 3.3" s.add_development_dependency "rspec", "~> 3.13"
s.add_development_dependency "rubocop", "~> 0.61.1" s.add_development_dependency "rubocop", "~> 1.79"
s.add_development_dependency "simplecov", "~> 0.22" s.add_development_dependency "simplecov", "~> 0.22"
# quiet "Gem.gunzip is deprecated" deprecation warning caused by rubocop
s.add_development_dependency "unicode-display_width", "~> 1.3"
end end