ruby-shell 3.6.13 → 3.6.15

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rsh +17 -8
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d27f9b0e122174a3556a1954950ab96e27ce57193d6a31fe7c8d0ec807fbc9b8
4
- data.tar.gz: fed1c864573944923034b58fe24a128bbd60899db4d7d2104bc0a1b3e6b2c99d
3
+ metadata.gz: 4b48490df2e369dfa33c4d92ce4c713573d7b1e54ff565a53b62a217db070ca6
4
+ data.tar.gz: d79027f5999c4765f99b900d7d4bc9edd7dfd90f195799815e6715577ed2bcd8
5
5
  SHA512:
6
- metadata.gz: fde7b317a383ed186df64a0abd17fc35189d90cc522fa5c14df83229584b6ac90c54bfc51fda1c25c4a49b6912ecc464b953d8796fee944e8c469233370bc132
7
- data.tar.gz: c1dcd5f4fa4a492b4f97443e8c58cc3a77c065ab1f536c46b0d15a6d87ca78e08003943701cea95420b99d399ec378a365855b08a7318409e784ebd998a48707
6
+ metadata.gz: 81b35c1a4f9b1e30b29381ad3c563b4da9efdf5d4fee1157409c87e7fb256f096fa855f352b4cb7faa1d0d9bd60c9755326f818991a52b8fe2f2eb3365c16409
7
+ data.tar.gz: ee3bffbbd08096c6651dc8abf6984acb17f1d373d5d2558ea4354c56e1e8d1f6659205be9b339deb1b8e502d875975ade197153e48a787266a0082c074ded8e7
data/bin/rsh CHANGED
@@ -8,7 +8,7 @@
8
8
  # Web_site: http://isene.com/
9
9
  # Github: https://github.com/isene/rsh
10
10
  # License: Public domain
11
- @version = "3.6.13" # Refresh terminal width each prompt (fix stale @maxcol)
11
+ @version = "3.6.15" # Fix config persistence bugs in .rshrc
12
12
 
13
13
  # MODULES, CLASSES AND EXTENSIONS
14
14
  class String # Add coloring to strings (with escaping for Readline)
@@ -486,6 +486,7 @@ def getstr # A custom Readline-like function
486
486
  if @stk == 0 and @history[0].length > 0
487
487
  @tabsearch = @history[0]
488
488
  tab("hist")
489
+ @cmd_row = @c_row
489
490
  else
490
491
  if lift
491
492
  @history.unshift("")
@@ -593,10 +594,12 @@ def getstr # A custom Readline-like function
593
594
  @ci = nil
594
595
  #@tabsearch =~ /^-/ ? tabbing("switch") : tabbing("all")
595
596
  tab("all")
597
+ @cmd_row = @c_row
596
598
  lift = true
597
599
  when 'S-TAB'
598
600
  @ci = nil
599
601
  tab("hist")
602
+ @cmd_row = @c_row
600
603
  lift = true
601
604
  when /^.$/
602
605
  @history[0].insert(@pos,chr)
@@ -1526,18 +1529,24 @@ def rshrc # Write user configuration to .rshrc (portable between machines)
1526
1529
  conf = ""
1527
1530
  end
1528
1531
 
1532
+ # Strip runtime data that belongs in .rshstate (may linger from pre-split config)
1533
+ %w[@cmd_frequency @cmd_stats @exe_cache @exe_cache_path @exe_cache_time
1534
+ @completion_weights @history @recordings @plugin_enabled].each do |var|
1535
+ conf.sub!(/^#{Regexp.escape(var)} =.*\n?/, "")
1536
+ end
1537
+
1529
1538
  # Persist user-editable configuration using helper
1530
1539
  conf = persist_var(conf, '@nick', @nick)
1531
1540
  conf = persist_var(conf, '@gnick', @gnick)
1532
1541
  conf = persist_var(conf, '@bookmarks', @bookmarks, !@bookmarks.empty?)
1533
1542
  conf = persist_var(conf, '@defuns', @defuns, !@defuns.empty?)
1534
- conf = persist_var(conf, '@history_dedup', @history_dedup, @history_dedup && @history_dedup != 'smart')
1535
- conf = persist_var(conf, '@session_autosave', @session_autosave, @session_autosave && @session_autosave > 0)
1536
- conf = persist_var(conf, '@auto_correct', @auto_correct, @auto_correct)
1537
- conf = persist_var(conf, '@slow_command_threshold', @slow_command_threshold, @slow_command_threshold && @slow_command_threshold > 0)
1538
- conf = persist_var(conf, '@completion_learning', @completion_learning, !@completion_learning)
1539
- conf = persist_var(conf, '@show_tips', @show_tips, !@show_tips)
1540
- conf = persist_var(conf, '@completion_show_metadata', @completion_show_metadata, @completion_show_metadata)
1543
+ conf = persist_var(conf, '@history_dedup', @history_dedup)
1544
+ conf = persist_var(conf, '@session_autosave', @session_autosave)
1545
+ conf = persist_var(conf, '@auto_correct', @auto_correct)
1546
+ conf = persist_var(conf, '@slow_command_threshold', @slow_command_threshold)
1547
+ conf = persist_var(conf, '@completion_learning', @completion_learning)
1548
+ conf = persist_var(conf, '@show_tips', @show_tips)
1549
+ conf = persist_var(conf, '@completion_show_metadata', @completion_show_metadata)
1541
1550
  conf = persist_var(conf, '@plugin_disabled', @plugin_disabled, !@plugin_disabled.empty?)
1542
1551
  conf = persist_var(conf, '@validation_rules', @validation_rules, !@validation_rules.empty?)
1543
1552
 
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.13
4
+ version: 3.6.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-02-26 00:00:00.000000000 Z
11
+ date: 2026-02-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'A shell written in Ruby with extensive tab completions, aliases/nicks,
14
14
  history, syntax highlighting, theming, auto-cd, auto-opening files and more. UPDATE
15
- v3.6.13: Fix cursor position on wide terminals - refresh terminal dimensions each
16
- prompt cycle.'
15
+ v3.6.15: Fix config persistence bugs - scalar settings now always persist, runtime
16
+ data stripped from .rshrc.'
17
17
  email: g@isene.com
18
18
  executables:
19
19
  - rsh