rtfm-filemanager 7.1.0 → 7.1.1

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/rtfm +14 -8
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df66c4e6ca08bab9851409bf047f49bb1fe76aeb14fa0daca85f32f3ee46d01c
4
- data.tar.gz: 66f604c96c5b8c6152eabaec35b6e34fe957f4991f2a9f7fd564f304c3afd647
3
+ metadata.gz: 3a39d2642135dedd764081bbacf9324552b2e398570d128da2447d8586b30b1d
4
+ data.tar.gz: e4619be8f3579ad2f2f26b1c2a84b14a8e3712a23f2a33c01225566124209f50
5
5
  SHA512:
6
- metadata.gz: 6de938ff5ac1176cd3d09700bc9940f04c72202f7636d68be1bddc121299d1ec4ae7aa0577bd72beaee7c5b5383b79ae522cdc633452c88c911a40a4d697ebf6
7
- data.tar.gz: 95c9d6f9b0de87bde2c881ae2f52002f1fbfa86f4b31400d54073a3366ea83601314adefa754c5fd833fd155033af4c8ab3c0816990fa90ba020be2d436361bc
6
+ metadata.gz: c576e346669cffe05991d30829c165f24af56435cde8e29906e8fe1aa2faddb8d1fbe0183a063700e4e6532d9b4e2773ebbbe3fb7d6c2c5608f9f479654a8205
7
+ data.tar.gz: 679467d5bdad962dc4a5e460336f6e3ae5f1b245e187b8d06f27eeeb101ca4980c2aef623be2d2c8078319d0c7fa83b7e6e97c24df19f7bda098658fd04cb6a2
data/bin/rtfm CHANGED
@@ -1482,7 +1482,8 @@ end
1482
1482
 
1483
1483
  def toggle_long # {{{3
1484
1484
  @lslong = @lslong.empty? ? (@is_macos_bsd ? '-lhT' : '-lh --time-style=long-iso') : ''
1485
- @pR.update = @pB.update = true
1485
+ @pB.say(@lslong.empty? ? ' Long info: Off' : ' Long info: On')
1486
+ @pL.update = @pR.update = true
1486
1487
  end
1487
1488
 
1488
1489
  def toggle_order # {{{3
@@ -4310,30 +4311,34 @@ def ruby_debug # {{{3
4310
4311
  end
4311
4312
 
4312
4313
  # GENERIC FUNCTIONS {{{1
4313
- def get_cached_dirlist(dir, ls_options) # {{{2
4314
+ def get_cached_dirlist(dir, ls_options, ls_options_with_long = nil) # {{{2
4315
+ # Use ls_options_with_long for display, or fall back to ls_options
4316
+ ls_options_with_long ||= ls_options
4317
+
4314
4318
  # Generate cache key with directory mtime for automatic invalidation
4319
+ # Include ls_options_with_long in cache key so toggling @lslong invalidates cache
4315
4320
  begin
4316
4321
  dir_mtime = File.mtime(dir).to_i
4317
- cache_key = "#{dir}:#{ls_options}:#{dir_mtime}"
4322
+ cache_key = "#{dir}:#{ls_options_with_long}:#{dir_mtime}"
4318
4323
  rescue
4319
4324
  return nil # Can't cache if we can't get mtime
4320
4325
  end
4321
-
4326
+
4322
4327
  # Return cached result if available and fresh
4323
4328
  cached = @dir_cache[cache_key]
4324
4329
  return cached if cached
4325
-
4330
+
4326
4331
  # Clean old cache entries if cache is getting too large
4327
4332
  if @dir_cache_size >= @max_cache_entries
4328
4333
  @dir_cache.clear
4329
4334
  @dir_cache_size = 0
4330
4335
  end
4331
-
4336
+
4332
4337
  # Generate new directory listing
4333
4338
  begin
4334
4339
  purels = command("ls #{Shellwords.escape(dir)} #{ls_options}").pure.split("\n")
4335
4340
  color_opt = @is_macos_bsd ? '-G' : '--color'
4336
- colorls = command("ls #{color_opt} #{Shellwords.escape(dir)} #{ls_options} #{@lslong}").split("\n")
4341
+ colorls = command("ls #{color_opt} #{Shellwords.escape(dir)} #{ls_options_with_long}").split("\n")
4337
4342
 
4338
4343
  result = { purels: purels, colorls: colorls }
4339
4344
  @dir_cache[cache_key] = result
@@ -4498,7 +4503,8 @@ def dirlist(left: true, directory: nil) # LIST DIRECTORIES {{{2
4498
4503
  end
4499
4504
  # Use cached directory listing
4500
4505
  ls_options = "#{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}"
4501
- cached = get_cached_dirlist(dir, ls_options)
4506
+ ls_options_with_long = "#{ls_options} #{@lslong}".strip
4507
+ cached = get_cached_dirlist(dir, ls_options, ls_options_with_long)
4502
4508
 
4503
4509
  if cached
4504
4510
  purels = cached[:purels]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtfm-filemanager
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.0
4
+ version: 7.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-08 00:00:00.000000000 Z
11
+ date: 2025-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rcurses
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '7.4'
55
55
  description: |-
56
- RTFM v7.1.0: Added comprehensive compressed archive viewing for .zip, .tar, .gz, .tgz, .bz2, .tbz, .tbz2, .xz, .txz, .rar, .7z files with smart fallback handling.
56
+ RTFM v7.1.1: Fixed 'A' key toggle for long file info display - now properly shows ls -l format with user feedback and correct cache invalidation.
57
57
  A full featured terminal browser with syntax highlighted files, images shown in the terminal, videos thumbnailed, etc. Features include remote SSH/SFTP browsing, interactive SSH shell, comprehensive undo system, bookmarks, and much more. You can bookmark and jump around easily, delete, rename, copy, symlink and move files. RTFM is one of the most feature-packed terminal file managers.
58
58
  email: g@isene.com
59
59
  executables: