rufio 1.1.0 → 1.3.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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +74 -3
  4. data/README_ja.md +71 -2
  5. data/Rakefile +14 -1
  6. data/bin/rufio +31 -2
  7. data/docs/fast_zip_design_ja.md +167 -0
  8. data/info/help.md +2 -0
  9. data/info/keybindings.md +3 -1
  10. data/info/welcome.md +1 -1
  11. data/lib/rufio/application.rb +12 -1
  12. data/lib/rufio/archive_controller.rb +211 -0
  13. data/lib/rufio/background_command_executor.rb +9 -0
  14. data/lib/rufio/background_status.rb +49 -0
  15. data/lib/rufio/bookmark_controller.rb +38 -121
  16. data/lib/rufio/bookmark_manager.rb +77 -331
  17. data/lib/rufio/command_completion.rb +6 -1
  18. data/lib/rufio/command_history.rb +5 -2
  19. data/lib/rufio/command_mode.rb +40 -134
  20. data/lib/rufio/command_mode_ui.rb +4 -42
  21. data/lib/rufio/config.rb +88 -136
  22. data/lib/rufio/config_loader.rb +3 -11
  23. data/lib/rufio/dialog_renderer.rb +64 -152
  24. data/lib/rufio/dialog_support.rb +69 -0
  25. data/lib/rufio/document_text_extractor.rb +167 -0
  26. data/lib/rufio/file_operation_controller.rb +49 -222
  27. data/lib/rufio/file_preview.rb +46 -2
  28. data/lib/rufio/global_search.rb +121 -9
  29. data/lib/rufio/help_menu.rb +8 -2
  30. data/lib/rufio/interpreter_resolver.rb +6 -11
  31. data/lib/rufio/job_manager.rb +2 -5
  32. data/lib/rufio/key_input.rb +77 -0
  33. data/lib/rufio/keybind_handler.rb +81 -115
  34. data/lib/rufio/local_script_scanner.rb +6 -18
  35. data/lib/rufio/native/aarch64-linux-gnu/librufio_zig.so +0 -0
  36. data/lib/rufio/native/aarch64-linux-musl/librufio_zig.so +0 -0
  37. data/lib/rufio/native/aarch64-macos/librufio_zig.dylib +0 -0
  38. data/lib/rufio/native/aarch64-windows/rufio_zig.dll +0 -0
  39. data/lib/rufio/native/x86_64-linux-gnu/librufio_zig.so +0 -0
  40. data/lib/rufio/native/x86_64-linux-musl/librufio_zig.so +0 -0
  41. data/lib/rufio/native/x86_64-macos/librufio_zig.dylib +0 -0
  42. data/lib/rufio/native/x86_64-windows/rufio_zig.dll +0 -0
  43. data/lib/rufio/native_content_search.rb +153 -0
  44. data/lib/rufio/native_scanner.rb +13 -68
  45. data/lib/rufio/native_scanner_zig.rb +106 -56
  46. data/lib/rufio/native_zip.rb +121 -0
  47. data/lib/rufio/navigation_controller.rb +18 -20
  48. data/lib/rufio/screen.rb +2 -12
  49. data/lib/rufio/script_executor.rb +6 -73
  50. data/lib/rufio/script_file.rb +44 -0
  51. data/lib/rufio/script_path_manager.rb +9 -43
  52. data/lib/rufio/script_runner.rb +13 -50
  53. data/lib/rufio/search_controller.rb +1 -1
  54. data/lib/rufio/shell_command_completion.rb +1 -5
  55. data/lib/rufio/shell_init.rb +90 -0
  56. data/lib/rufio/task_status.rb +5 -1
  57. data/lib/rufio/terminal_ui.rb +55 -294
  58. data/lib/rufio/text_utils.rb +26 -3
  59. data/lib/rufio/ui_renderer.rb +63 -40
  60. data/lib/rufio/version.rb +1 -1
  61. data/lib/rufio/zip_archive.rb +314 -0
  62. data/lib/rufio/zip_extractor.rb +346 -0
  63. data/lib/rufio/zip_writer.rb +268 -0
  64. data/lib/rufio/zoxide_integration.rb +5 -43
  65. data/lib/rufio.rb +5 -0
  66. data/lib_zig/rufio_native/Makefile +54 -17
  67. data/lib_zig/rufio_native/bench.sh +36 -0
  68. data/lib_zig/rufio_native/build.zig +32 -35
  69. data/lib_zig/rufio_native/src/cli.zig +99 -0
  70. data/lib_zig/rufio_native/src/main.zig +187 -83
  71. data/lib_zig/rufio_native/src/os.zig +889 -0
  72. data/lib_zig/rufio_native/src/search.zig +919 -0
  73. data/lib_zig/rufio_native/src/search_test.zig +88 -0
  74. data/lib_zig/rufio_native/src/zip.zig +482 -0
  75. metadata +125 -3
  76. data/lib/rufio/native/rufio_zig.bundle +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - masisz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-25 00:00:00.000000000 Z
11
+ date: 2026-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: io-console
@@ -66,6 +66,102 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.8'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pdf-reader
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.16'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.16'
83
+ - !ruby/object:Gem::Dependency
84
+ name: roo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.10'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubyzip
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '2.4'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '3.0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '2.4'
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: nokogiri
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.16'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.16'
131
+ - !ruby/object:Gem::Dependency
132
+ name: csv
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: base64
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0.2'
152
+ - - "<"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.0'
155
+ type: :runtime
156
+ prerelease: false
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0.2'
162
+ - - "<"
163
+ - !ruby/object:Gem::Version
164
+ version: '1.0'
69
165
  - !ruby/object:Gem::Dependency
70
166
  name: minitest
71
167
  requirement: !ruby/object:Gem::Requirement
@@ -141,6 +237,7 @@ files:
141
237
  - docs/CHANGELOG_v0.80.0.md
142
238
  - docs/CHANGELOG_v0.9.0.md
143
239
  - docs/architecture_concurrency_ja_v0.82.1.md
240
+ - docs/fast_zip_design_ja.md
144
241
  - examples/bookmarks.yml
145
242
  - examples/config.rb
146
243
  - examples/script_paths.yml
@@ -150,9 +247,11 @@ files:
150
247
  - lib/rufio.rb
151
248
  - lib/rufio/ansi_line_parser.rb
152
249
  - lib/rufio/application.rb
250
+ - lib/rufio/archive_controller.rb
153
251
  - lib/rufio/async_scanner_fiber.rb
154
252
  - lib/rufio/async_scanner_promise.rb
155
253
  - lib/rufio/background_command_executor.rb
254
+ - lib/rufio/background_status.rb
156
255
  - lib/rufio/bookmark.rb
157
256
  - lib/rufio/bookmark_controller.rb
158
257
  - lib/rufio/bookmark_manager.rb
@@ -167,7 +266,9 @@ files:
167
266
  - lib/rufio/config.rb
168
267
  - lib/rufio/config_loader.rb
169
268
  - lib/rufio/dialog_renderer.rb
269
+ - lib/rufio/dialog_support.rb
170
270
  - lib/rufio/directory_listing.rb
271
+ - lib/rufio/document_text_extractor.rb
171
272
  - lib/rufio/dsl_command.rb
172
273
  - lib/rufio/dsl_command_loader.rb
173
274
  - lib/rufio/file_opener.rb
@@ -182,13 +283,23 @@ files:
182
283
  - lib/rufio/interpreter_resolver.rb
183
284
  - lib/rufio/job_manager.rb
184
285
  - lib/rufio/job_mode.rb
286
+ - lib/rufio/key_input.rb
185
287
  - lib/rufio/keybind_handler.rb
186
288
  - lib/rufio/local_script_scanner.rb
187
289
  - lib/rufio/logger.rb
188
290
  - lib/rufio/multibyte_input_reader.rb
189
- - lib/rufio/native/rufio_zig.bundle
291
+ - lib/rufio/native/aarch64-linux-gnu/librufio_zig.so
292
+ - lib/rufio/native/aarch64-linux-musl/librufio_zig.so
293
+ - lib/rufio/native/aarch64-macos/librufio_zig.dylib
294
+ - lib/rufio/native/aarch64-windows/rufio_zig.dll
295
+ - lib/rufio/native/x86_64-linux-gnu/librufio_zig.so
296
+ - lib/rufio/native/x86_64-linux-musl/librufio_zig.so
297
+ - lib/rufio/native/x86_64-macos/librufio_zig.dylib
298
+ - lib/rufio/native/x86_64-windows/rufio_zig.dll
299
+ - lib/rufio/native_content_search.rb
190
300
  - lib/rufio/native_scanner.rb
191
301
  - lib/rufio/native_scanner_zig.rb
302
+ - lib/rufio/native_zip.rb
192
303
  - lib/rufio/navigation_controller.rb
193
304
  - lib/rufio/notification_manager.rb
194
305
  - lib/rufio/parallel_scanner.rb
@@ -197,11 +308,13 @@ files:
197
308
  - lib/rufio/screen.rb
198
309
  - lib/rufio/script_config_loader.rb
199
310
  - lib/rufio/script_executor.rb
311
+ - lib/rufio/script_file.rb
200
312
  - lib/rufio/script_path_manager.rb
201
313
  - lib/rufio/script_runner.rb
202
314
  - lib/rufio/search_controller.rb
203
315
  - lib/rufio/selection_manager.rb
204
316
  - lib/rufio/shell_command_completion.rb
317
+ - lib/rufio/shell_init.rb
205
318
  - lib/rufio/syntax_highlighter.rb
206
319
  - lib/rufio/tab_mode_manager.rb
207
320
  - lib/rufio/task_status.rb
@@ -209,11 +322,20 @@ files:
209
322
  - lib/rufio/text_utils.rb
210
323
  - lib/rufio/ui_renderer.rb
211
324
  - lib/rufio/version.rb
325
+ - lib/rufio/zip_archive.rb
326
+ - lib/rufio/zip_extractor.rb
327
+ - lib/rufio/zip_writer.rb
212
328
  - lib/rufio/zoxide_integration.rb
213
329
  - lib_zig/rufio_native/Makefile
330
+ - lib_zig/rufio_native/bench.sh
214
331
  - lib_zig/rufio_native/build.zig
332
+ - lib_zig/rufio_native/src/cli.zig
215
333
  - lib_zig/rufio_native/src/main.zig
216
334
  - lib_zig/rufio_native/src/main.zig.sync
335
+ - lib_zig/rufio_native/src/os.zig
336
+ - lib_zig/rufio_native/src/search.zig
337
+ - lib_zig/rufio_native/src/search_test.zig
338
+ - lib_zig/rufio_native/src/zip.zig
217
339
  - retag.sh
218
340
  homepage: https://github.com/masisz/rufio
219
341
  licenses:
Binary file