rufio 0.31.0 → 0.33.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +132 -12
  3. data/README.md +84 -10
  4. data/README_EN.md +55 -2
  5. data/docs/CHANGELOG_v0.32.0.md +288 -0
  6. data/docs/CHANGELOG_v0.33.0.md +444 -0
  7. data/{CHANGELOG_v0.4.0.md → docs/CHANGELOG_v0.4.0.md} +2 -2
  8. data/{CHANGELOG_v0.5.0.md → docs/CHANGELOG_v0.5.0.md} +3 -0
  9. data/{CHANGELOG_v0.7.0.md → docs/CHANGELOG_v0.7.0.md} +1 -1
  10. data/{CHANGELOG_v0.8.0.md → docs/CHANGELOG_v0.8.0.md} +1 -1
  11. data/{CHANGELOG_v0.9.0.md → docs/CHANGELOG_v0.9.0.md} +1 -1
  12. data/docs/file-preview-optimization-analysis.md +759 -0
  13. data/docs/file-preview-performance-issue-FIXED.md +547 -0
  14. data/lib/rufio/application.rb +9 -1
  15. data/lib/rufio/background_command_executor.rb +98 -0
  16. data/lib/rufio/command_completion.rb +101 -0
  17. data/lib/rufio/command_history.rb +109 -0
  18. data/lib/rufio/command_logger.rb +118 -0
  19. data/lib/rufio/command_mode.rb +51 -1
  20. data/lib/rufio/command_mode_ui.rb +48 -15
  21. data/lib/rufio/config_loader.rb +9 -0
  22. data/lib/rufio/directory_listing.rb +60 -12
  23. data/lib/rufio/keybind_handler.rb +73 -2
  24. data/lib/rufio/native/rufio_native.bundle +0 -0
  25. data/lib/rufio/native/rufio_zig.bundle +0 -0
  26. data/lib/rufio/native_scanner.rb +306 -0
  27. data/lib/rufio/native_scanner_magnus.rb +194 -0
  28. data/lib/rufio/native_scanner_zig.rb +221 -0
  29. data/lib/rufio/plugins/hello.rb +30 -0
  30. data/lib/rufio/shell_command_completion.rb +120 -0
  31. data/lib/rufio/terminal_ui.rb +155 -20
  32. data/lib/rufio/version.rb +1 -1
  33. data/lib/rufio.rb +11 -0
  34. data/lib_rust/rufio_native/.cargo/config.toml +2 -0
  35. data/lib_rust/rufio_native/Cargo.lock +346 -0
  36. data/lib_rust/rufio_native/Cargo.toml +18 -0
  37. data/lib_rust/rufio_native/build.rs +46 -0
  38. data/lib_rust/rufio_native/src/lib.rs +197 -0
  39. data/lib_zig/rufio_native/Makefile +33 -0
  40. data/lib_zig/rufio_native/build.zig +45 -0
  41. data/lib_zig/rufio_native/src/main.zig +167 -0
  42. metadata +36 -13
  43. /data/{CHANGELOG_v0.10.0.md → docs/CHANGELOG_v0.10.0.md} +0 -0
  44. /data/{CHANGELOG_v0.20.0.md → docs/CHANGELOG_v0.20.0.md} +0 -0
  45. /data/{CHANGELOG_v0.21.0.md → docs/CHANGELOG_v0.21.0.md} +0 -0
  46. /data/{CHANGELOG_v0.30.0.md → docs/CHANGELOG_v0.30.0.md} +0 -0
  47. /data/{CHANGELOG_v0.31.0.md → docs/CHANGELOG_v0.31.0.md} +0 -0
  48. /data/{CHANGELOG_v0.6.0.md → docs/CHANGELOG_v0.6.0.md} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7c5ebea1d23ee7dfd964bdfa8b3ed9a99fa404b6c1f4fc5f1af3afaa2567f42
4
- data.tar.gz: 3f74121e14480e2d75a12cccca5c2984f6e7da5f894a89d8fb782a9a3fd9428e
3
+ metadata.gz: 225c3d631526c9d005dc935b0ac6f6a2bfb27efbc31211ec4cf319864e0885bb
4
+ data.tar.gz: 6148268cd607c98f42a9396b499cb5668c6b5f9001b583a245099d47415ab22a
5
5
  SHA512:
6
- metadata.gz: 410b4b98fd4ea4ba3ef077fb31432f7974377be3e971bba1b60f390be99a8547e1cd5afb7b0209d631ed85cd5b87d519571b0fe1f1d6fb76ef58801be2911895
7
- data.tar.gz: 345156bf65cae10f7a64756c9882d065e483519fb2f3ec6360dfbe729e0c88a7d42ada9c9b920b25dfa5ce2e81e216281677c239ae4b21672996535bb3799912
6
+ metadata.gz: 67f1e5730ed0eb0e8e71746c89729eaee14b8d0fbe503d8d54de626b4a4b30f3a79c284f73b662e5ec355a00df6806a73e693aa78a6f76ed953afe4ceaf4e889
7
+ data.tar.gz: 485c7db79703f4f3f698dd64f94e9f383a9b1f1ec3fb4dad46a34ef116b26b15537607f0cf6c7a843adddd79f3b5dfdaa46519d6da75f307f74b631b6c56dd55
data/CHANGELOG.md CHANGED
@@ -7,7 +7,109 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.10.0] - 2025-01-XX
10
+ ## [0.33.0] - 2026-01-03
11
+
12
+ ### Fixed
13
+ - **🚨 CRITICAL: File Preview Performance Bug**: Fixed severe rendering delays (80ms → 1-2ms)
14
+ - Root cause: Redundant processing inside rendering loop (38x per frame)
15
+ - Impact: 97-99% improvement, 40-86x faster file preview
16
+ - All text file previews now render in < 2ms
17
+
18
+ ### Added
19
+ - **⚡ Zig Native Scanner**: Experimental implementation with minimal binary size (52.6 KB)
20
+ - Direct Ruby C API integration (no FFI overhead)
21
+ - Competitive performance (within 6% of fastest implementations)
22
+ - 5.97x smaller than Rust/Magnus implementation
23
+ - **📊 YJIT Performance Analysis**: Comprehensive benchmarking of JIT compiler impact
24
+ - Pure Ruby: 2-5% improvement with YJIT
25
+ - Native extensions: No significant impact
26
+ - **📈 Performance Documentation**: Extensive benchmarking suite and analysis
27
+ - 7 new benchmark scripts
28
+ - 4 detailed performance reports
29
+ - Complete implementation comparison
30
+
31
+ For detailed information, see [CHANGELOG_v0.33.0.md](./docs/CHANGELOG_v0.33.0.md)
32
+
33
+ ## [0.32.0] - 2026-01-02
34
+
35
+ ### Added
36
+ - **🎯 Shell Command Execution**: Execute shell commands with `!` prefix (e.g., `:!ls`, `:!git status`)
37
+ - **📜 Command History**: Navigate command history with arrow keys, persistent storage
38
+ - **⌨️ Intelligent Tab Completion**: Smart completion with candidate list display
39
+ - **🔌 Hello Plugin**: Example Ruby plugin demonstrating command implementation
40
+ - **⚙️ Command History Configuration**: Configurable history size (default: 1000)
41
+
42
+ ### Changed
43
+ - Command mode UI improvements: cleaner interface, better visual feedback
44
+ - Tab completion now shows candidate list when multiple matches exist
45
+ - Plugin system now auto-loads from `lib/rufio/plugins/`
46
+
47
+ ### Fixed
48
+ - Tab completion not working for shell commands
49
+ - Command input display showing candidates unnecessarily
50
+
51
+ For detailed information, see [CHANGELOG_v0.32.0.md](./docs/CHANGELOG_v0.32.0.md)
52
+
53
+ ## [0.31.0] - 2026-01-01
54
+
55
+ ### Added
56
+ - **🚀 Experimental Native Scanner**: High-performance directory scanning with Rust/Go implementations
57
+ - **Rust implementation** (`lib_rust/scanner/`): Fastest, memory-safe implementation
58
+ - **Go implementation** (`lib_go/scanner/`): Fast with excellent concurrency
59
+ - **NativeScanner abstraction layer**: Unified interface with automatic fallback to Ruby
60
+ - **Launch options**: `--native`, `--native=rust`, `--native=go` for performance optimization
61
+ - **Environment variable**: `RUFIO_NATIVE` for configuration
62
+
63
+ ### Changed
64
+ - Default scanner remains Ruby implementation for stability
65
+ - Auto-detection priority: Rust > Go > Ruby
66
+
67
+ For detailed information, see [CHANGELOG_v0.31.0.md](./docs/CHANGELOG_v0.31.0.md)
68
+
69
+ ## [0.30.0] - 2025-12-30
70
+
71
+ ### Added
72
+ - **📚 Help System Overhaul**: Full-screen help mode with Markdown documentation
73
+ - **Preview Pane Scrolling**: `Enter` on files focuses preview pane, `j/k` for scrolling
74
+ - **Help documentation**: `info/welcome.md`, `info/help.md`, `info/keybindings.md`
75
+ - **Enhanced file preview**: `.docx`, `.xlsx`, `.pptx` preview support via `pandoc`
76
+
77
+ ### Changed
78
+ - All help documentation converted to English and Markdown format
79
+ - Help mode uses full file manager UI for browsing
80
+ - Preview pane shows `[PREVIEW MODE]` indicator when focused
81
+
82
+ For detailed information, see [CHANGELOG_v0.30.0.md](./docs/CHANGELOG_v0.30.0.md)
83
+
84
+ ## [0.21.0] - 2025-12-29
85
+
86
+ ### Added
87
+ - **📋 Copy Feature**: `c` key to copy selected files with floating dialog UI
88
+ - **Cross-directory selection**: Select files in one directory and copy/move to another
89
+ - **Multiple selection delete**: Enhanced `x` key for deleting multiple files
90
+ - **Code refactoring**: Extracted dialog confirmation logic to shared methods
91
+
92
+ ### Changed
93
+ - Improved SelectionManager with source directory tracking
94
+ - Unified confirmation dialog UI across copy/move/delete operations
95
+
96
+ For detailed information, see [CHANGELOG_v0.21.0.md](./docs/CHANGELOG_v0.21.0.md)
97
+
98
+ ## [0.20.0] - 2025-12-28
99
+
100
+ ### Added
101
+ - **🎯 Project Mode UI Unification**: Consistent UI between normal and project modes
102
+ - **Script directory support**: Execute custom Ruby scripts from `~/.config/rufio/scripts`
103
+ - **Bookmark rename feature**: `r` key in project mode to rename bookmarks
104
+ - **Enhanced command mode**: `:` command with script execution
105
+
106
+ ### Changed
107
+ - Project mode shows bookmark list with consistent UI
108
+ - Improved bookmark management with rename capability
109
+
110
+ For detailed information, see [CHANGELOG_v0.20.0.md](./docs/CHANGELOG_v0.20.0.md)
111
+
112
+ ## [0.10.0] - 2025-12-21
11
113
 
12
114
  ### 🎨 Enhanced - Bookmark UI Overhaul
13
115
  - **Floating input dialogs**: All bookmark operations now use modern floating window interface
@@ -31,9 +133,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
31
133
  - New input dialog system with multi-byte character support
32
134
  - Enhanced BookmarkManager with private helper methods for dialogs
33
135
  - Improved cursor positioning calculations
34
- - **Detailed changelog**: [CHANGELOG_v0.10.0.md](./CHANGELOG_v0.10.0.md)
136
+ - **Detailed changelog**: [CHANGELOG_v0.10.0.md](./docs/CHANGELOG_v0.10.0.md)
35
137
 
36
- ## [0.9.0] - 2025-01-XX
138
+ ## [0.9.0] - 2025-12-13
37
139
 
38
140
  ### Added
39
141
  - **Escape key support for file/directory creation**: Press `Esc` to cancel file (`a`) or directory (`A`) creation prompts and return to the main view
@@ -47,8 +149,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
47
149
  - New `read_line_with_escape` method for cancelable input handling
48
150
  - Comprehensive test suite for escape key functionality
49
151
  - Support for multi-byte characters (Japanese, etc.) in filename/directory input
152
+ - **Detailed changelog**: [CHANGELOG_v0.9.0.md](./docs/CHANGELOG_v0.9.0.md)
50
153
 
51
- ## [0.7.0] - 2024-11-29
154
+ ## [0.8.0] - 2025-12-06
155
+
156
+ For detailed information, see [CHANGELOG_v0.8.0.md](./docs/CHANGELOG_v0.8.0.md)
157
+
158
+ ## [0.7.0] - 2025-11-29
52
159
 
53
160
  ### Added
54
161
  - **🔌 Plugin System**: Complete extensible plugin architecture for rufio
@@ -70,9 +177,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
70
177
  - New `PluginConfig` for configuration file handling
71
178
  - Plugin directory structure: `lib/rufio/plugins/` and `~/.rufio/plugins/`
72
179
  - Case-insensitive plugin name matching in configuration
73
- - **Detailed changelog**: [CHANGELOG_v0.7.0.md](./CHANGELOG_v0.7.0.md)
180
+ - **Detailed changelog**: [CHANGELOG_v0.7.0.md](./docs/CHANGELOG_v0.7.0.md)
74
181
 
75
- ## [0.6.0] - 2025-01-XX
182
+ ## [0.6.0] - 2025-09-28
76
183
 
77
184
  ### Added
78
185
  - **🚀 zoxide Integration**: Complete zoxide directory history navigation functionality
@@ -95,7 +202,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
95
202
  - Extended `HealthChecker` with zoxide version checking
96
203
  - Comprehensive test suite for zoxide functionality
97
204
  - Safe path escaping using Ruby's Shellwords module
98
- - **Detailed changelog**: [CHANGELOG_v0.6.0.md](./CHANGELOG_v0.6.0.md)
205
+ - **Detailed changelog**: [CHANGELOG_v0.6.0.md](./docs/CHANGELOG_v0.6.0.md)
99
206
 
100
207
  ## [0.5.0] - 2025-09-20
101
208
 
@@ -120,7 +227,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
120
227
  - Maximum 9 bookmarks with automatic sorting
121
228
  - Floating window system for bookmark management
122
229
  - Integration with existing terminal UI components
123
- - **Detailed changelog**: [CHANGELOG_v0.5.0.md](./CHANGELOG_v0.5.0.md)
230
+ - **Detailed changelog**: [CHANGELOG_v0.5.0.md](./docs/CHANGELOG_v0.5.0.md)
124
231
 
125
232
  ## [0.4.0] - 2025-09-13
126
233
 
@@ -153,7 +260,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
153
260
  - **Enhanced error handling** patterns throughout codebase
154
261
  - **Improved file system safety** checks and validation
155
262
 
156
- For detailed information, see [CHANGELOG_v0.4.0.md](./CHANGELOG_v0.4.0.md)
263
+ For detailed information, see [CHANGELOG_v0.4.0.md](./docs/CHANGELOG_v0.4.0.md)
157
264
 
158
265
  ## [0.3.0] - 2025-09-06
159
266
 
@@ -189,9 +296,22 @@ For detailed information, see [CHANGELOG_v0.4.0.md](./CHANGELOG_v0.4.0.md)
189
296
 
190
297
  ## Release Links
191
298
 
192
- - [v0.6.0 Detailed Release Notes](./CHANGELOG_v0.6.0.md) - zoxide Integration and Enhanced Health Checking
193
- - [v0.5.0 Detailed Release Notes](./CHANGELOG_v0.5.0.md) - Bookmark System Implementation
194
- - [v0.4.0 Detailed Release Notes](./CHANGELOG_v0.4.0.md) - Comprehensive changelog with technical details
299
+ ### Detailed Release Notes
300
+
301
+ - [v0.31.0](./docs/CHANGELOG_v0.31.0.md) - Experimental Native Scanner Implementation
302
+ - [v0.30.0](./docs/CHANGELOG_v0.30.0.md) - Help System Overhaul
303
+ - [v0.21.0](./docs/CHANGELOG_v0.21.0.md) - Copy Feature & Code Refactoring
304
+ - [v0.20.0](./docs/CHANGELOG_v0.20.0.md) - Project Mode Enhancement & UI Unification
305
+ - [v0.10.0](./docs/CHANGELOG_v0.10.0.md) - Bookmark UI Overhaul
306
+ - [v0.9.0](./docs/CHANGELOG_v0.9.0.md) - Escape Key Support & Input Improvements
307
+ - [v0.8.0](./docs/CHANGELOG_v0.8.0.md) - Additional Features
308
+ - [v0.7.0](./docs/CHANGELOG_v0.7.0.md) - Plugin System
309
+ - [v0.6.0](./docs/CHANGELOG_v0.6.0.md) - zoxide Integration
310
+ - [v0.5.0](./docs/CHANGELOG_v0.5.0.md) - Bookmark System Implementation
311
+ - [v0.4.0](./docs/CHANGELOG_v0.4.0.md) - Floating Dialog System & English Interface
312
+
313
+ ### External Links
314
+
195
315
  - [GitHub Releases](https://github.com/masisz/rufio/releases) - Download releases and view release history
196
316
  - [Installation Guide](./README.md#installation) - How to install rufio
197
317
  - [Usage Documentation](./README.md#usage) - Complete usage guide
data/README.md CHANGED
@@ -8,13 +8,37 @@ Ruby製のターミナルベースファイルマネージャー
8
8
 
9
9
  rufioは、Yaziにインスパイアされたターミナル上で動作するファイルマネージャーです。Rubyで実装されており、プラグインサポートを備えています。軽量で高速な操作性を提供し、ファイルの閲覧・管理・検索機能を備えています。
10
10
 
11
+ ### 🚀 v0.33.0の重要な更新
12
+
13
+ - **🚨 重大なパフォーマンス改善**: ファイルプレビューが40-86倍高速化(80ms → 1-2ms)
14
+ - **⚡ Zig実装追加**: 最小バイナリサイズ(52.6 KB)のネイティブスキャナー
15
+ - **📊 YJIT対応**: Ruby 3.4+ のJITコンパイラで全体的な性能向上
16
+
17
+ 詳細は [CHANGELOG v0.33.0](./docs/CHANGELOG_v0.33.0.md) を参照してください。
18
+
11
19
  ## 特徴
12
20
 
13
21
  - **軽量でシンプル**: Rubyで書かれた軽量なファイルマネージャー
14
22
  - **直感的な操作**: Vimライクなキーバインド
15
23
  - **プラグインシステム**: 拡張可能なプラグインアーキテクチャ
16
- - **コマンドモード**: Tab補完とフローティングウィンドウを備えた強力なコマンドシステム
17
- - **ファイルプレビュー**: テキストファイルの内容をその場で確認
24
+ - **強力なコマンドモード** (v0.32.0):
25
+ - シェルコマンド実行 (`!ls`, `!git status` など)
26
+ - コマンド履歴(上下矢印キーでナビゲーション)
27
+ - インテリジェントなTab補完(候補リスト表示)
28
+ - Rubyプラグインによる拡張可能なコマンド
29
+ - **バックグラウンドコマンド実行** (v0.33.0):
30
+ - `:!command` でシェルコマンドを非同期実行
31
+ - 実行中もrufioの操作が可能
32
+ - 完了時に通知メッセージを表示
33
+ - 実行結果を自動的にログファイルに保存
34
+ - **実行ログビューワ** (v0.33.0):
35
+ - `L`キーでコマンド実行ログを閲覧
36
+ - ログファイルのタイムスタンプ付き管理
37
+ - ヘルプモードと同様の直感的なUI
38
+ - **高速ファイルプレビュー** (v0.33.0最適化):
39
+ - 大幅な性能改善(40-86倍高速化)
40
+ - 大規模ファイルも瞬時に表示(< 2ms)
41
+ - スムーズなスクロールと快適な操作性
18
42
  - **ファイル選択・操作**: 複数ファイルの選択、移動、コピー、削除が可能
19
43
  - **リアルタイムフィルター**: sキーでファイル名の絞り込み表示
20
44
  - **高度な検索機能**: fzfとrgaを使った強力な検索
@@ -48,7 +72,7 @@ rufio /path/to # 指定したディレクトリで起動
48
72
 
49
73
  ### ネイティブスキャナー(実験的機能)
50
74
 
51
- rufio v0.31.0以降では、高速なディレクトリスキャンのためのネイティブ実装(Rust/Go)をサポートしています。デフォルトは安定したRuby実装を使用し、オプションでネイティブ実装に切り替え可能です。
75
+ rufio v0.31.0以降では、高速なディレクトリスキャンのためのネイティブ実装(Rust/Go/Zig)をサポートしています。デフォルトは安定したRuby実装を使用し、オプションでネイティブ実装に切り替え可能です。
52
76
 
53
77
  #### 起動オプション
54
78
 
@@ -56,10 +80,13 @@ rufio v0.31.0以降では、高速なディレクトリスキャンのための
56
80
  # デフォルト(Ruby実装 - 安定)
57
81
  rufio
58
82
 
59
- # ネイティブ実装を有効化(自動検出: Rust > Go > Ruby)
83
+ # ネイティブ実装を有効化(自動検出: Magnus > Zig > Rust > Go > Ruby)
60
84
  rufio --native
61
85
  rufio --native=auto
62
86
 
87
+ # Zig実装を使用(v0.33.0 - 実験的)
88
+ rufio --native=zig
89
+
63
90
  # Rust実装を強制使用
64
91
  rufio --native=rust
65
92
  rufio --native rust /path/to/dir
@@ -69,21 +96,34 @@ rufio --native=go
69
96
  rufio --native go /path/to/dir
70
97
 
71
98
  # 環境変数でも制御可能
99
+ RUFIO_NATIVE=zig rufio
72
100
  RUFIO_NATIVE=rust rufio
73
101
  RUFIO_NATIVE=go rufio /path/to/dir
74
102
  ```
75
103
 
76
104
  #### ネイティブ実装について
77
105
 
78
- - **Rust実装**: 最も高速でメモリ安全。推奨。
79
- - **Go実装**: 高速で並行処理に優れる。
80
- - **Ruby実装** (デフォルト): 依存なし、安定動作保証。
106
+ - **Zig実装** (v0.33.0 - 実験的): 最小バイナリサイズ(52.6 KB)、高速、FFI不要
107
+ - **Magnus (Rust)**: 最速、メモリ安全、FFI不要(バイナリ: 314 KB)
108
+ - **Rust (FFI)**: 高速、メモリ安全、JSON経由
109
+ - **Go (FFI)**: 高速、並行処理に優れる
110
+ - **Ruby実装** (デフォルト): 依存なし、安定動作保証
111
+
112
+ **性能比較(163エントリ):**
113
+ - Go (FFI): 0.242 ms(最速)
114
+ - Pure Ruby + YJIT: 0.242 ms(同等)
115
+ - Rust (FFI): 0.244 ms
116
+ - Zig: 0.253 ms(最小バイナリ)
81
117
 
82
118
  #### ビルド方法
83
119
 
84
120
  ネイティブ実装を使用するには、事前にビルドが必要です:
85
121
 
86
122
  ```bash
123
+ # Zig実装のビルド(v0.33.0 - 実験的)
124
+ cd lib_zig/rufio_native
125
+ make
126
+
87
127
  # Rust実装のビルド
88
128
  cd lib_rust/scanner
89
129
  cargo build --release
@@ -94,6 +134,11 @@ cd lib_go/scanner
94
134
  make install
95
135
  ```
96
136
 
137
+ **必要な開発ツール:**
138
+ - Zig: Zig 0.15.2以降(`brew install zig` または https://ziglang.org/)
139
+ - Rust: Cargo(`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`)
140
+ - Go: Go 1.16以降(`brew install go` または https://golang.org/)
141
+
97
142
  #### 注意事項
98
143
 
99
144
  - ネイティブ実装は実験的機能です
@@ -170,7 +215,7 @@ rufio --help # ヘルプメッセージを表示
170
215
  | キー | 機能 |
171
216
  | --------- | ------------------------------------ |
172
217
  | `b` | 現在のディレクトリをブックマークに追加 |
173
- | `p` | プロジェクトモードに入る |
218
+ | `P` | プロジェクトモードに入る (v0.33.0で変更) |
174
219
  | `0` | 起動したディレクトリに移動 |
175
220
  | `1`-`9` | 対応する番号のブックマークに移動 |
176
221
 
@@ -180,15 +225,44 @@ rufio --help # ヘルプメッセージを表示
180
225
  | ---- | ---------------------------------- |
181
226
  | `z` | zoxide履歴からディレクトリを選択移動 |
182
227
 
183
- #### コマンドモード
228
+ #### コマンドモード (v0.32.0 強化版)
184
229
 
185
230
  | キー | 機能 |
186
231
  | ------ | ---------------------------------------- |
187
232
  | `:` | コマンドモードを起動 |
188
- | `Tab` | コマンド補完(コマンドモード中) |
233
+ | `Tab` | コマンド補完・候補リスト表示(コマンドモード中)|
234
+ | `↑` | 前のコマンドを表示(コマンドモード中) |
235
+ | `↓` | 次のコマンドを表示(コマンドモード中) |
189
236
  | `Enter`| コマンドを実行(コマンドモード中) |
190
237
  | `ESC` | コマンドモードをキャンセル(コマンドモード中) |
191
238
 
239
+ **シェルコマンド実行** (v0.32.0):
240
+ ```
241
+ :!ls -la # ファイル一覧を表示
242
+ :!git status # Gitステータスを確認
243
+ :!pwd # 現在のディレクトリを表示
244
+ ```
245
+
246
+ **バックグラウンド実行** (v0.33.0):
247
+ - `:!command` でシェルコマンドを非同期実行
248
+ - 実行中もrufioの操作が可能
249
+ - 完了時に通知メッセージを3秒間表示
250
+ - 実行結果は自動的に `~/.config/rufio/log/` に保存
251
+
252
+ **Rubyコマンド** (v0.32.0):
253
+ ```
254
+ :hello # Hello プラグインを実行
255
+ ```
256
+
257
+ #### ログビューワ (v0.33.0)
258
+
259
+ | キー | 機能 |
260
+ | ---- | ---------------------------------- |
261
+ | `L` | コマンド実行ログを閲覧 |
262
+ | `ESC`| ログビューワモードを終了 |
263
+
264
+ コマンド実行ログは `~/.config/rufio/log/` に保存され、`L`キーで閲覧できます。
265
+
192
266
  #### ヘルプ
193
267
 
194
268
  | キー | 機能 |
data/README_EN.md CHANGED
@@ -13,9 +13,23 @@ rufio is a terminal-based file manager inspired by Yazi. It's implemented in Rub
13
13
  - **Lightweight & Simple**: A lightweight file manager written in Ruby
14
14
  - **Intuitive Operation**: Vim-like key bindings
15
15
  - **Plugin System**: Extensible plugin architecture
16
+ - **Powerful Command Mode** (v0.32.0):
17
+ - Shell command execution (`!ls`, `!git status`, etc.)
18
+ - Command history (navigate with arrow keys)
19
+ - Intelligent Tab completion (with candidate list display)
20
+ - Extensible commands via Ruby plugins
21
+ - **Background Command Execution** (v0.33.0):
22
+ - Execute shell commands asynchronously with `:!command`
23
+ - rufio remains operational during execution
24
+ - Displays completion notification
25
+ - Automatically saves execution results to log files
26
+ - **Execution Log Viewer** (v0.33.0):
27
+ - View command execution logs with `L` key
28
+ - Timestamp-based log file management
29
+ - Intuitive UI similar to help mode
16
30
  - **File Preview**: View text file contents on the fly
17
- - **File Selection & Operations**: Select multiple files, move, and delete
18
- - **Real-time Filter**: Filter files by name using s key
31
+ - **File Selection & Operations**: Select multiple files, move, copy, and delete
32
+ - **Real-time Filter**: Filter files by name using f key
19
33
  - **Advanced Search**: Powerful search using fzf and rga
20
34
  - **Multi-platform**: Runs on macOS, Linux, and Windows
21
35
  - **External Editor Integration**: Open files with your favorite editor
@@ -110,6 +124,7 @@ rufio --help # Show help message
110
124
  | Key | Function |
111
125
  | ------- | ------------------------------- |
112
126
  | `b` | Show bookmark menu |
127
+ | `P` | Enter project mode (Changed in v0.33.0) |
113
128
  | `1`-`9` | Go to corresponding bookmark |
114
129
 
115
130
  #### zoxide Integration
@@ -118,6 +133,44 @@ rufio --help # Show help message
118
133
  | --- | ---------------------------------- |
119
134
  | `z` | Select directory from zoxide history |
120
135
 
136
+ #### Command Mode (v0.32.0 Enhanced)
137
+
138
+ | Key | Function |
139
+ | ------- | ----------------------------------------- |
140
+ | `:` | Activate command mode |
141
+ | `Tab` | Command completion / Show candidate list |
142
+ | `↑` | Previous command (in command mode) |
143
+ | `↓` | Next command (in command mode) |
144
+ | `Enter` | Execute command (in command mode) |
145
+ | `ESC` | Cancel command mode (in command mode) |
146
+
147
+ **Shell Command Execution** (v0.32.0):
148
+ ```
149
+ :!ls -la # List files with details
150
+ :!git status # Check git status
151
+ :!pwd # Print working directory
152
+ ```
153
+
154
+ **Background Execution** (v0.33.0):
155
+ - Execute shell commands asynchronously with `:!command`
156
+ - rufio remains operational during execution
157
+ - Displays completion notification for 3 seconds
158
+ - Execution results automatically saved to `~/.config/rufio/log/`
159
+
160
+ **Ruby Commands** (v0.32.0):
161
+ ```
162
+ :hello # Execute Hello plugin
163
+ ```
164
+
165
+ #### Log Viewer (v0.33.0)
166
+
167
+ | Key | Function |
168
+ | ----- | ---------------------------- |
169
+ | `L` | View command execution logs |
170
+ | `ESC` | Exit log viewer mode |
171
+
172
+ Command execution logs are saved to `~/.config/rufio/log/` and can be viewed with the `L` key.
173
+
121
174
  #### System Operations
122
175
 
123
176
  | Key | Function |