rufio 0.31.0 → 0.32.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7c5ebea1d23ee7dfd964bdfa8b3ed9a99fa404b6c1f4fc5f1af3afaa2567f42
4
- data.tar.gz: 3f74121e14480e2d75a12cccca5c2984f6e7da5f894a89d8fb782a9a3fd9428e
3
+ metadata.gz: aff3f0a1c50ec0a854769b6cd89a559872db6edd9618fe000e80a89160018887
4
+ data.tar.gz: 244a77b3555472fccecfe13638ae53f72bc971f6cbc3649ded6bd09a127b4004
5
5
  SHA512:
6
- metadata.gz: 410b4b98fd4ea4ba3ef077fb31432f7974377be3e971bba1b60f390be99a8547e1cd5afb7b0209d631ed85cd5b87d519571b0fe1f1d6fb76ef58801be2911895
7
- data.tar.gz: 345156bf65cae10f7a64756c9882d065e483519fb2f3ec6360dfbe729e0c88a7d42ada9c9b920b25dfa5ce2e81e216281677c239ae4b21672996535bb3799912
6
+ metadata.gz: 59dbee8f1030310696f3f113c85ebc9f6ed236e7ce24ca0fc834a174f3614b2f609dc7c5471efd905d113b8d61d490779da8222c7984c3827c095d1ff0c14d67
7
+ data.tar.gz: a75e8048e9b6ddaf81d32d7fc772a6231462a9e81e221147329c8726ef59d65e63ecd115397f80dbd8274ced4b3a5b14d3d3d2a5c3cd247b36d8d1275518595c
data/CHANGELOG.md CHANGED
@@ -7,7 +7,86 @@ 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.32.0] - 2026-01-02
11
+
12
+ ### Added
13
+ - **🎯 Shell Command Execution**: Execute shell commands with `!` prefix (e.g., `:!ls`, `:!git status`)
14
+ - **📜 Command History**: Navigate command history with arrow keys, persistent storage
15
+ - **⌨️ Intelligent Tab Completion**: Smart completion with candidate list display
16
+ - **🔌 Hello Plugin**: Example Ruby plugin demonstrating command implementation
17
+ - **⚙️ Command History Configuration**: Configurable history size (default: 1000)
18
+
19
+ ### Changed
20
+ - Command mode UI improvements: cleaner interface, better visual feedback
21
+ - Tab completion now shows candidate list when multiple matches exist
22
+ - Plugin system now auto-loads from `lib/rufio/plugins/`
23
+
24
+ ### Fixed
25
+ - Tab completion not working for shell commands
26
+ - Command input display showing candidates unnecessarily
27
+
28
+ For detailed information, see [CHANGELOG_v0.32.0.md](./docs/CHANGELOG_v0.32.0.md)
29
+
30
+ ## [0.31.0] - 2026-01-01
31
+
32
+ ### Added
33
+ - **🚀 Experimental Native Scanner**: High-performance directory scanning with Rust/Go implementations
34
+ - **Rust implementation** (`lib_rust/scanner/`): Fastest, memory-safe implementation
35
+ - **Go implementation** (`lib_go/scanner/`): Fast with excellent concurrency
36
+ - **NativeScanner abstraction layer**: Unified interface with automatic fallback to Ruby
37
+ - **Launch options**: `--native`, `--native=rust`, `--native=go` for performance optimization
38
+ - **Environment variable**: `RUFIO_NATIVE` for configuration
39
+
40
+ ### Changed
41
+ - Default scanner remains Ruby implementation for stability
42
+ - Auto-detection priority: Rust > Go > Ruby
43
+
44
+ For detailed information, see [CHANGELOG_v0.31.0.md](./docs/CHANGELOG_v0.31.0.md)
45
+
46
+ ## [0.30.0] - 2025-12-30
47
+
48
+ ### Added
49
+ - **📚 Help System Overhaul**: Full-screen help mode with Markdown documentation
50
+ - **Preview Pane Scrolling**: `Enter` on files focuses preview pane, `j/k` for scrolling
51
+ - **Help documentation**: `info/welcome.md`, `info/help.md`, `info/keybindings.md`
52
+ - **Enhanced file preview**: `.docx`, `.xlsx`, `.pptx` preview support via `pandoc`
53
+
54
+ ### Changed
55
+ - All help documentation converted to English and Markdown format
56
+ - Help mode uses full file manager UI for browsing
57
+ - Preview pane shows `[PREVIEW MODE]` indicator when focused
58
+
59
+ For detailed information, see [CHANGELOG_v0.30.0.md](./docs/CHANGELOG_v0.30.0.md)
60
+
61
+ ## [0.21.0] - 2025-12-29
62
+
63
+ ### Added
64
+ - **📋 Copy Feature**: `c` key to copy selected files with floating dialog UI
65
+ - **Cross-directory selection**: Select files in one directory and copy/move to another
66
+ - **Multiple selection delete**: Enhanced `x` key for deleting multiple files
67
+ - **Code refactoring**: Extracted dialog confirmation logic to shared methods
68
+
69
+ ### Changed
70
+ - Improved SelectionManager with source directory tracking
71
+ - Unified confirmation dialog UI across copy/move/delete operations
72
+
73
+ For detailed information, see [CHANGELOG_v0.21.0.md](./docs/CHANGELOG_v0.21.0.md)
74
+
75
+ ## [0.20.0] - 2025-12-28
76
+
77
+ ### Added
78
+ - **🎯 Project Mode UI Unification**: Consistent UI between normal and project modes
79
+ - **Script directory support**: Execute custom Ruby scripts from `~/.config/rufio/scripts`
80
+ - **Bookmark rename feature**: `r` key in project mode to rename bookmarks
81
+ - **Enhanced command mode**: `:` command with script execution
82
+
83
+ ### Changed
84
+ - Project mode shows bookmark list with consistent UI
85
+ - Improved bookmark management with rename capability
86
+
87
+ For detailed information, see [CHANGELOG_v0.20.0.md](./docs/CHANGELOG_v0.20.0.md)
88
+
89
+ ## [0.10.0] - 2025-12-21
11
90
 
12
91
  ### 🎨 Enhanced - Bookmark UI Overhaul
13
92
  - **Floating input dialogs**: All bookmark operations now use modern floating window interface
@@ -31,9 +110,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
31
110
  - New input dialog system with multi-byte character support
32
111
  - Enhanced BookmarkManager with private helper methods for dialogs
33
112
  - Improved cursor positioning calculations
34
- - **Detailed changelog**: [CHANGELOG_v0.10.0.md](./CHANGELOG_v0.10.0.md)
113
+ - **Detailed changelog**: [CHANGELOG_v0.10.0.md](./docs/CHANGELOG_v0.10.0.md)
35
114
 
36
- ## [0.9.0] - 2025-01-XX
115
+ ## [0.9.0] - 2025-12-13
37
116
 
38
117
  ### Added
39
118
  - **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 +126,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
47
126
  - New `read_line_with_escape` method for cancelable input handling
48
127
  - Comprehensive test suite for escape key functionality
49
128
  - Support for multi-byte characters (Japanese, etc.) in filename/directory input
129
+ - **Detailed changelog**: [CHANGELOG_v0.9.0.md](./docs/CHANGELOG_v0.9.0.md)
130
+
131
+ ## [0.8.0] - 2025-12-06
50
132
 
51
- ## [0.7.0] - 2024-11-29
133
+ For detailed information, see [CHANGELOG_v0.8.0.md](./docs/CHANGELOG_v0.8.0.md)
134
+
135
+ ## [0.7.0] - 2025-11-29
52
136
 
53
137
  ### Added
54
138
  - **🔌 Plugin System**: Complete extensible plugin architecture for rufio
@@ -70,9 +154,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
70
154
  - New `PluginConfig` for configuration file handling
71
155
  - Plugin directory structure: `lib/rufio/plugins/` and `~/.rufio/plugins/`
72
156
  - Case-insensitive plugin name matching in configuration
73
- - **Detailed changelog**: [CHANGELOG_v0.7.0.md](./CHANGELOG_v0.7.0.md)
157
+ - **Detailed changelog**: [CHANGELOG_v0.7.0.md](./docs/CHANGELOG_v0.7.0.md)
74
158
 
75
- ## [0.6.0] - 2025-01-XX
159
+ ## [0.6.0] - 2025-09-28
76
160
 
77
161
  ### Added
78
162
  - **🚀 zoxide Integration**: Complete zoxide directory history navigation functionality
@@ -95,7 +179,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
95
179
  - Extended `HealthChecker` with zoxide version checking
96
180
  - Comprehensive test suite for zoxide functionality
97
181
  - Safe path escaping using Ruby's Shellwords module
98
- - **Detailed changelog**: [CHANGELOG_v0.6.0.md](./CHANGELOG_v0.6.0.md)
182
+ - **Detailed changelog**: [CHANGELOG_v0.6.0.md](./docs/CHANGELOG_v0.6.0.md)
99
183
 
100
184
  ## [0.5.0] - 2025-09-20
101
185
 
@@ -120,7 +204,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
120
204
  - Maximum 9 bookmarks with automatic sorting
121
205
  - Floating window system for bookmark management
122
206
  - Integration with existing terminal UI components
123
- - **Detailed changelog**: [CHANGELOG_v0.5.0.md](./CHANGELOG_v0.5.0.md)
207
+ - **Detailed changelog**: [CHANGELOG_v0.5.0.md](./docs/CHANGELOG_v0.5.0.md)
124
208
 
125
209
  ## [0.4.0] - 2025-09-13
126
210
 
@@ -153,7 +237,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
153
237
  - **Enhanced error handling** patterns throughout codebase
154
238
  - **Improved file system safety** checks and validation
155
239
 
156
- For detailed information, see [CHANGELOG_v0.4.0.md](./CHANGELOG_v0.4.0.md)
240
+ For detailed information, see [CHANGELOG_v0.4.0.md](./docs/CHANGELOG_v0.4.0.md)
157
241
 
158
242
  ## [0.3.0] - 2025-09-06
159
243
 
@@ -189,9 +273,22 @@ For detailed information, see [CHANGELOG_v0.4.0.md](./CHANGELOG_v0.4.0.md)
189
273
 
190
274
  ## Release Links
191
275
 
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
276
+ ### Detailed Release Notes
277
+
278
+ - [v0.31.0](./docs/CHANGELOG_v0.31.0.md) - Experimental Native Scanner Implementation
279
+ - [v0.30.0](./docs/CHANGELOG_v0.30.0.md) - Help System Overhaul
280
+ - [v0.21.0](./docs/CHANGELOG_v0.21.0.md) - Copy Feature & Code Refactoring
281
+ - [v0.20.0](./docs/CHANGELOG_v0.20.0.md) - Project Mode Enhancement & UI Unification
282
+ - [v0.10.0](./docs/CHANGELOG_v0.10.0.md) - Bookmark UI Overhaul
283
+ - [v0.9.0](./docs/CHANGELOG_v0.9.0.md) - Escape Key Support & Input Improvements
284
+ - [v0.8.0](./docs/CHANGELOG_v0.8.0.md) - Additional Features
285
+ - [v0.7.0](./docs/CHANGELOG_v0.7.0.md) - Plugin System
286
+ - [v0.6.0](./docs/CHANGELOG_v0.6.0.md) - zoxide Integration
287
+ - [v0.5.0](./docs/CHANGELOG_v0.5.0.md) - Bookmark System Implementation
288
+ - [v0.4.0](./docs/CHANGELOG_v0.4.0.md) - Floating Dialog System & English Interface
289
+
290
+ ### External Links
291
+
195
292
  - [GitHub Releases](https://github.com/masisz/rufio/releases) - Download releases and view release history
196
293
  - [Installation Guide](./README.md#installation) - How to install rufio
197
294
  - [Usage Documentation](./README.md#usage) - Complete usage guide
data/README.md CHANGED
@@ -13,7 +13,11 @@ rufioは、Yaziにインスパイアされたターミナル上で動作する
13
13
  - **軽量でシンプル**: Rubyで書かれた軽量なファイルマネージャー
14
14
  - **直感的な操作**: Vimライクなキーバインド
15
15
  - **プラグインシステム**: 拡張可能なプラグインアーキテクチャ
16
- - **コマンドモード**: Tab補完とフローティングウィンドウを備えた強力なコマンドシステム
16
+ - **強力なコマンドモード** (v0.32.0):
17
+ - シェルコマンド実行 (`!ls`, `!git status` など)
18
+ - コマンド履歴(上下矢印キーでナビゲーション)
19
+ - インテリジェントなTab補完(候補リスト表示)
20
+ - Rubyプラグインによる拡張可能なコマンド
17
21
  - **ファイルプレビュー**: テキストファイルの内容をその場で確認
18
22
  - **ファイル選択・操作**: 複数ファイルの選択、移動、コピー、削除が可能
19
23
  - **リアルタイムフィルター**: sキーでファイル名の絞り込み表示
@@ -180,15 +184,29 @@ rufio --help # ヘルプメッセージを表示
180
184
  | ---- | ---------------------------------- |
181
185
  | `z` | zoxide履歴からディレクトリを選択移動 |
182
186
 
183
- #### コマンドモード
187
+ #### コマンドモード (v0.32.0 強化版)
184
188
 
185
189
  | キー | 機能 |
186
190
  | ------ | ---------------------------------------- |
187
191
  | `:` | コマンドモードを起動 |
188
- | `Tab` | コマンド補完(コマンドモード中) |
192
+ | `Tab` | コマンド補完・候補リスト表示(コマンドモード中)|
193
+ | `↑` | 前のコマンドを表示(コマンドモード中) |
194
+ | `↓` | 次のコマンドを表示(コマンドモード中) |
189
195
  | `Enter`| コマンドを実行(コマンドモード中) |
190
196
  | `ESC` | コマンドモードをキャンセル(コマンドモード中) |
191
197
 
198
+ **シェルコマンド実行** (v0.32.0):
199
+ ```
200
+ :!ls -la # ファイル一覧を表示
201
+ :!git status # Gitステータスを確認
202
+ :!pwd # 現在のディレクトリを表示
203
+ ```
204
+
205
+ **Rubyコマンド** (v0.32.0):
206
+ ```
207
+ :hello # Hello プラグインを実行
208
+ ```
209
+
192
210
  #### ヘルプ
193
211
 
194
212
  | キー | 機能 |
data/README_EN.md CHANGED
@@ -13,9 +13,14 @@ 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
16
21
  - **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
22
+ - **File Selection & Operations**: Select multiple files, move, copy, and delete
23
+ - **Real-time Filter**: Filter files by name using f key
19
24
  - **Advanced Search**: Powerful search using fzf and rga
20
25
  - **Multi-platform**: Runs on macOS, Linux, and Windows
21
26
  - **External Editor Integration**: Open files with your favorite editor
@@ -118,6 +123,29 @@ rufio --help # Show help message
118
123
  | --- | ---------------------------------- |
119
124
  | `z` | Select directory from zoxide history |
120
125
 
126
+ #### Command Mode (v0.32.0 Enhanced)
127
+
128
+ | Key | Function |
129
+ | ------- | ----------------------------------------- |
130
+ | `:` | Activate command mode |
131
+ | `Tab` | Command completion / Show candidate list |
132
+ | `↑` | Previous command (in command mode) |
133
+ | `↓` | Next command (in command mode) |
134
+ | `Enter` | Execute command (in command mode) |
135
+ | `ESC` | Cancel command mode (in command mode) |
136
+
137
+ **Shell Command Execution** (v0.32.0):
138
+ ```
139
+ :!ls -la # List files with details
140
+ :!git status # Check git status
141
+ :!pwd # Print working directory
142
+ ```
143
+
144
+ **Ruby Commands** (v0.32.0):
145
+ ```
146
+ :hello # Execute Hello plugin
147
+ ```
148
+
121
149
  #### System Operations
122
150
 
123
151
  | Key | Function |
@@ -0,0 +1,288 @@
1
+ # rufio v0.32.0 - Command Mode Enhancements
2
+
3
+ **Release Date**: 2026-01-02
4
+
5
+ ## Overview
6
+
7
+ Version 0.32.0 introduces comprehensive command mode enhancements, including shell command execution, command history, intelligent Tab completion, and the plugin system foundation with a sample Hello plugin. This release focuses on making command mode a powerful interface for daily operations.
8
+
9
+ ## 🎯 Major Features
10
+
11
+ ### 1. Shell Command Execution
12
+
13
+ Execute shell commands directly from command mode using the `!` prefix.
14
+
15
+ **Usage:**
16
+ ```
17
+ :!ls -la # List files with details
18
+ :!git status # Check git status
19
+ :!grep pattern * # Search for patterns
20
+ ```
21
+
22
+ **Features:**
23
+ - ✅ Safe execution with `Open3.capture3`
24
+ - ✅ Separate stdout and stderr display
25
+ - ✅ Exit code tracking and error handling
26
+ - ✅ Result display in floating window
27
+
28
+ **Implementation:**
29
+ - `lib/rufio/command_mode.rb`: Added `execute_shell_command` method
30
+ - `lib/rufio/command_mode_ui.rb`: Hash-based result formatting
31
+
32
+ ### 2. Command History
33
+
34
+ Navigate through previously executed commands using arrow keys.
35
+
36
+ **Usage:**
37
+ - `↑` (Up Arrow): Previous command
38
+ - `↓` (Down Arrow): Next command
39
+
40
+ **Features:**
41
+ - ✅ File persistence (`~/.rufio/command_history.txt`)
42
+ - ✅ Duplicate filtering
43
+ - ✅ Configurable history size (default: 1000)
44
+ - ✅ Automatic save on command execution
45
+
46
+ **Configuration:**
47
+ ```ruby
48
+ # ~/.config/rufio/config.rb
49
+ COMMAND_HISTORY_SIZE = 500 # Default: 1000
50
+ ```
51
+
52
+ **Implementation:**
53
+ - `lib/rufio/command_history.rb`: History management class
54
+ - `lib/rufio/config_loader.rb`: Configuration support
55
+ - `lib/rufio/terminal_ui.rb`: Integration with command mode
56
+
57
+ ### 3. Intelligent Tab Completion
58
+
59
+ Smart Tab completion with multiple behavior modes.
60
+
61
+ **Behavior:**
62
+
63
+ 1. **Single candidate**: Auto-complete
64
+ ```
65
+ Input: !lsbo [Tab]
66
+ Result: !lsbom
67
+ ```
68
+
69
+ 2. **Multiple candidates with common prefix**: Complete to common prefix
70
+ ```
71
+ Input: !lsap [Tab]
72
+ Result: !lsappinfo
73
+ ```
74
+
75
+ 3. **Multiple candidates, no common prefix**: Display candidate list
76
+ ```
77
+ Input: !l [Tab]
78
+ Result: Shows list of 115 commands starting with 'l'
79
+ ```
80
+
81
+ **Features:**
82
+ - ✅ Internal command completion
83
+ - ✅ Shell command completion (PATH-based)
84
+ - ✅ File path completion with tilde expansion
85
+ - ✅ History-based completion
86
+ - ✅ Case-insensitive matching
87
+ - ✅ Candidate list display (max 20 items)
88
+
89
+ **Implementation:**
90
+ - `lib/rufio/command_completion.rb`: Main completion logic
91
+ - `lib/rufio/shell_command_completion.rb`: Shell-specific completion
92
+ - `lib/rufio/terminal_ui.rb`: Tab key handling with candidate display
93
+
94
+ ### 4. Hello Plugin (Ruby Command Example)
95
+
96
+ Simple example plugin demonstrating how to create custom Ruby commands.
97
+
98
+ **Usage:**
99
+ ```
100
+ :hello # Execute the hello command
101
+ ```
102
+
103
+ **Output:**
104
+ ```
105
+ Hello, World! 🌍
106
+
107
+ このコマンドはRubyで実装されています。
108
+ ```
109
+
110
+ **Features:**
111
+ - ✅ Automatic plugin loading from `lib/rufio/plugins/`
112
+ - ✅ Tab completion support
113
+ - ✅ Command history integration
114
+ - ✅ Comprehensive test coverage
115
+
116
+ **Creating Your Own Plugin:**
117
+ ```ruby
118
+ # lib/rufio/plugins/my_plugin.rb
119
+ module Rufio
120
+ module Plugins
121
+ class MyPlugin < Plugin
122
+ def name
123
+ "MyPlugin"
124
+ end
125
+
126
+ def description
127
+ "Description of my plugin"
128
+ end
129
+
130
+ def commands
131
+ {
132
+ mycommand: method(:execute_command)
133
+ }
134
+ end
135
+
136
+ private
137
+
138
+ def execute_command
139
+ "Command result"
140
+ end
141
+ end
142
+ end
143
+ end
144
+ ```
145
+
146
+ **Implementation:**
147
+ - `lib/rufio/plugins/hello.rb`: Hello plugin
148
+ - `lib/rufio.rb`: Automatic plugin loading via `PluginManager.load_all`
149
+ - `test/test_plugins_hello.rb`: Plugin tests
150
+
151
+ ### 5. Command Mode UI Improvements
152
+
153
+ Cleaner and more intuitive command mode interface.
154
+
155
+ **Changes:**
156
+ - ✅ Removed "補完候補:" label (candidates shown only on Tab)
157
+ - ✅ Floating window for candidate display
158
+ - ✅ Better visual feedback for Tab completion
159
+ - ✅ Color-coded windows (blue for input, yellow for candidates, green/red for results)
160
+
161
+ ## 📊 Technical Details
162
+
163
+ ### File Changes
164
+
165
+ **New Files:**
166
+ - `lib/rufio/command_history.rb` - Command history management
167
+ - `lib/rufio/command_completion.rb` - Command completion logic
168
+ - `lib/rufio/shell_command_completion.rb` - Shell command completion
169
+ - `lib/rufio/plugins/hello.rb` - Hello plugin example
170
+ - `test/test_command_history.rb` - Command history tests
171
+ - `test/test_command_completion.rb` - Completion tests
172
+ - `test/test_shell_command_completion.rb` - Shell completion tests
173
+ - `test/test_plugins_hello.rb` - Hello plugin tests
174
+
175
+ **Modified Files:**
176
+ - `lib/rufio.rb` - Added plugin loading
177
+ - `lib/rufio/command_mode.rb` - Shell command execution
178
+ - `lib/rufio/command_mode_ui.rb` - UI improvements, Hash result formatting
179
+ - `lib/rufio/terminal_ui.rb` - History and completion integration
180
+ - `lib/rufio/config_loader.rb` - Command history size configuration
181
+
182
+ ### Test Coverage
183
+
184
+ ```
185
+ 390 runs, 1663 assertions, 0 failures, 0 errors, 1 skips
186
+ ```
187
+
188
+ All features are fully tested with comprehensive test coverage.
189
+
190
+ ### Performance
191
+
192
+ - Command history: O(1) access for previous/next
193
+ - Tab completion: O(n) where n = number of PATH commands
194
+ - File path completion: Uses efficient Dir.glob with patterns
195
+ - Shell execution: Non-blocking with Open3.capture3
196
+
197
+ ## 🔧 Configuration
198
+
199
+ ### Command History Size
200
+
201
+ ```ruby
202
+ # ~/.config/rufio/config.rb
203
+ COMMAND_HISTORY_SIZE = 1000 # Default: 1000
204
+ ```
205
+
206
+ ### History File Location
207
+
208
+ ```
209
+ ~/.rufio/command_history.txt
210
+ ```
211
+
212
+ ## 🎓 Usage Examples
213
+
214
+ ### Shell Command Execution
215
+ ```
216
+ :!ls # List files
217
+ :!pwd # Print working directory
218
+ :!git log --oneline # Git log
219
+ ```
220
+
221
+ ### Tab Completion
222
+ ```
223
+ :h[Tab] # Complete to 'hello'
224
+ :!l[Tab] # Show list of commands starting with 'l'
225
+ :!ls /tm[Tab] # Complete to '!ls /tmp'
226
+ ```
227
+
228
+ ### Command History
229
+ ```
230
+ :[↑] # Previous command
231
+ :[↓] # Next command
232
+ ```
233
+
234
+ ### Ruby Commands
235
+ ```
236
+ :hello # Execute hello plugin
237
+ :copy # File operations (future)
238
+ :move # File operations (future)
239
+ ```
240
+
241
+ ## 🐛 Bug Fixes
242
+
243
+ - Fixed Tab completion not working for shell commands
244
+ - Fixed command input display showing candidates unnecessarily
245
+ - Fixed ConfigLoader method access (class method vs instance method)
246
+
247
+ ## 🔄 Migration Guide
248
+
249
+ No breaking changes. All existing functionality remains compatible.
250
+
251
+ **New users:**
252
+ - Command history will be automatically created on first command execution
253
+ - No configuration required for basic usage
254
+
255
+ **Existing users:**
256
+ - Command history feature works automatically
257
+ - Previous command mode behavior preserved
258
+ - New Tab completion enhances existing workflow
259
+
260
+ ## 📝 Known Limitations
261
+
262
+ - Command arguments not yet supported for internal commands
263
+ - Shell command completion limited to PATH commands
264
+ - History limited to command strings (no metadata)
265
+
266
+ ## 🚀 Future Enhancements
267
+
268
+ - Command arguments support
269
+ - Command aliases
270
+ - Custom keybindings for command mode
271
+ - Command history search (Ctrl+R style)
272
+ - More built-in plugins
273
+ - Plugin dependency management
274
+
275
+ ## 👏 Credits
276
+
277
+ Implemented following TDD (Test-Driven Development) methodology:
278
+ 1. Write tests first
279
+ 2. Run tests to confirm failures
280
+ 3. Implement features
281
+ 4. Verify all tests pass
282
+ 5. Commit
283
+
284
+ All features developed with comprehensive test coverage and documentation.
285
+
286
+ ---
287
+
288
+ For the main changelog, see [CHANGELOG.md](../CHANGELOG.md)
@@ -126,7 +126,7 @@ This release establishes rufio as a modern, English-focused file manager with:
126
126
 
127
127
  ---
128
128
 
129
- **Release Date**: 2025-01-13
129
+ **Release Date**: 2025-09-13
130
130
  **Version**: 0.4.0
131
131
  **Previous Version**: 0.3.0
132
132
  **Compatibility**: Ruby 2.7.0+
@@ -143,4 +143,4 @@ Please report issues at: https://github.com/masisz/rufio/issues
143
143
 
144
144
  ---
145
145
 
146
- *This release represents a significant step forward in rufio's evolution, focusing on modern UI patterns, safety, and maintainability while streamlining the user experience.*
146
+ *This release represents a significant step forward in rufio's evolution, focusing on modern UI patterns, safety, and maintainability while streamlining the user experience.*
@@ -1,6 +1,7 @@
1
1
  # rufio v0.5.0 - Release Notes
2
2
 
3
3
  ## Added
4
+
4
5
  - **Bookmark System**: Complete bookmark functionality for quick directory navigation
5
6
  - **Interactive Bookmark Menu**: Floating dialog accessed via `b` key with Add/List/Remove operations
6
7
  - **Quick Navigation**: Number keys (1-9) for instant bookmark jumping
@@ -12,6 +13,7 @@
12
13
  - **Error Handling**: Graceful handling of non-existent paths, permission errors, and invalid inputs
13
14
 
14
15
  ## Changed
16
+
15
17
  - **Help Messages Updated**: Latest keybinding information including bookmark operations in footer
16
18
  - **KeybindHandler Enhanced**: Integrated bookmark menu and direct navigation functionality
17
19
  - **DirectoryListing Improved**: Added `navigate_to_path` method for bookmark-based navigation
@@ -19,6 +21,7 @@
19
21
  - **Documentation Updated**: Comprehensive README updates with bookmark usage examples and workflows
20
22
 
21
23
  ## Technical Implementation
24
+
22
25
  - New `Bookmark` class with full CRUD operations and JSON persistence
23
26
  - Floating window system for bookmark management dialogs
24
27
  - Integration with existing terminal UI components and color system
@@ -1,6 +1,6 @@
1
1
  # CHANGELOG - rufio v0.7.0
2
2
 
3
- **Release Date**: 2024-11-29
3
+ **Release Date**: 2025-11-29
4
4
 
5
5
  ## 🚀 New Features
6
6
 
@@ -1,6 +1,6 @@
1
1
  # CHANGELOG - rufio v0.8.0
2
2
 
3
- **Release Date**: 2024-12-06
3
+ **Release Date**: 2025-12-06
4
4
 
5
5
  ## 🚀 New Features
6
6
 
@@ -1,6 +1,6 @@
1
1
  # CHANGELOG - rufio v0.9.0
2
2
 
3
- **Release Date**: 2024-12-13
3
+ **Release Date**: 2025-12-13
4
4
 
5
5
  ## 🚀 New Features
6
6