rufio 1.3.0 → 1.4.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 +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +26 -368
- data/README_ja.md +24 -330
- data/docs/guide.md +410 -0
- data/docs/guide_ja.md +410 -0
- data/info/help.md +52 -17
- data/info/keybindings.md +48 -22
- data/info/welcome.md +13 -4
- data/lib/rufio/command_completion.rb +22 -1
- data/lib/rufio/command_mode.rb +20 -0
- data/lib/rufio/config_loader.rb +1 -0
- data/lib/rufio/dialog_renderer.rb +26 -0
- data/lib/rufio/file_operations.rb +28 -6
- data/lib/rufio/global_search.rb +4 -4
- data/lib/rufio/help_menu.rb +11 -5
- data/lib/rufio/keybind_handler.rb +2 -1
- data/lib/rufio/navigation_controller.rb +2 -6
- data/lib/rufio/path_jump.rb +55 -0
- data/lib/rufio/terminal_ui.rb +29 -4
- data/lib/rufio/ui_renderer.rb +10 -5
- data/lib/rufio/version.rb +1 -1
- data/lib/rufio.rb +1 -0
- metadata +5 -2
data/README_ja.md
CHANGED
|
@@ -32,8 +32,10 @@ rufio は、ファイルを探すところからスクリプトの実行、結
|
|
|
32
32
|
### ファイルマネージャーとして
|
|
33
33
|
|
|
34
34
|
- **Vimライクなキーバインド**: 直感的なナビゲーション
|
|
35
|
-
- **リアルタイムプレビュー**: ファイル内容を即座に表示(`bat`
|
|
36
|
-
- **高速検索**: fzf/rga
|
|
35
|
+
- **リアルタイムプレビュー**: ファイル内容を即座に表示(`bat` によるシンタックスハイライト対応、`.zip` はエントリ一覧)
|
|
36
|
+
- **高速検索**: fzf/rgaとの連携に加え、PDF・Excel・PowerPointも読める全ブックマーク横断検索を内蔵
|
|
37
|
+
- **ZIPの展開・圧縮**: 選択したアイテムをバックグラウンドで展開・圧縮
|
|
38
|
+
- **パスへ移動**: コピーしたパスを `:cd` に貼り付けて移動
|
|
37
39
|
- **ブックマーク**: よく使うディレクトリに素早くアクセス
|
|
38
40
|
- **zoxide連携**: スマートなディレクトリ履歴
|
|
39
41
|
|
|
@@ -78,346 +80,38 @@ rufio /path/to # 指定したディレクトリで起動
|
|
|
78
80
|
|
|
79
81
|
## キーバインド
|
|
80
82
|
|
|
81
|
-
|
|
83
|
+
よく使うキーです。すべてのキーとモードは **[操作ガイド](./docs/guide_ja.md)** を参照するか、rufio の中で `?` を押してください。
|
|
82
84
|
|
|
83
|
-
| キー |
|
|
85
|
+
| キー | 操作 |
|
|
84
86
|
|------|------|
|
|
85
|
-
| `j/k` | 上下移動 |
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
89
|
-
| `
|
|
90
|
-
| `
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
| `
|
|
97
|
-
| `o` | 外部エディタで開く |
|
|
98
|
-
| `a/A` | ファイル/ディレクトリ作成 |
|
|
99
|
-
| `r` | リネーム |
|
|
100
|
-
| `d` | 削除 |
|
|
101
|
-
| `m/c/x` | 移動/コピー/削除(選択済み) |
|
|
102
|
-
| `z` | 選択した `.zip` を展開 / 選択したアイテムを `.zip` に圧縮(選択済み) |
|
|
103
|
-
|
|
104
|
-
### 検索・フィルター
|
|
105
|
-
|
|
106
|
-
| キー | 機能 |
|
|
107
|
-
|------|------|
|
|
108
|
-
| `f` | フィルターモード |
|
|
109
|
-
| `s` | fzfでファイル検索 |
|
|
110
|
-
| `F` | rgaでファイル内容検索 |
|
|
111
|
-
|
|
112
|
-
### ナビゲーション
|
|
113
|
-
|
|
114
|
-
| キー | 機能 |
|
|
115
|
-
|------|------|
|
|
116
|
-
| `b` | ブックマーク追加 |
|
|
117
|
-
| `B` | ブックマークメニュー |
|
|
118
|
-
| `0` | 起動ディレクトリに戻る |
|
|
119
|
-
| `1-9` | ブックマークにジャンプ |
|
|
120
|
-
| `Tab` | 次のブックマークへ循環移動(Filesモード限定) |
|
|
121
|
-
| `z` | zoxide履歴(未選択時) |
|
|
122
|
-
|
|
123
|
-
### ツールランタイム
|
|
124
|
-
|
|
125
|
-
| キー | 機能 |
|
|
126
|
-
|------|------|
|
|
127
|
-
| `:` | コマンドモード |
|
|
128
|
-
| `J` | ジョブモード |
|
|
129
|
-
| `L` | 実行ログ表示 |
|
|
87
|
+
| `j/k`、`h/l` | 上下移動 / 親ディレクトリ / ディレクトリに入る |
|
|
88
|
+
| `g/}` | 先頭 / 末尾 |
|
|
89
|
+
| `P` | 全画面プレビュー |
|
|
90
|
+
| `Space` | 選択 |
|
|
91
|
+
| `m/c/x` | 選択したアイテムの移動 / コピー / 削除 |
|
|
92
|
+
| `z` | 選択したアイテムの展開・圧縮(`.zip`)。未選択時は zoxide 履歴 |
|
|
93
|
+
| `a/A`、`r`、`d` | ファイル / ディレクトリ作成、リネーム、削除 |
|
|
94
|
+
| `f`、`s`、`F` | フィルター、fzf でファイル名検索、rga で内容検索 |
|
|
95
|
+
| `G` | 全ブックマーク配下のファイル名・内容(PDF・Excel・PowerPoint も)を横断検索 |
|
|
96
|
+
| `b`、`B`、`1-9`、`Tab` | ブックマーク追加、メニュー、ジャンプ、次のブックマーク |
|
|
97
|
+
| `:` | コマンドモード(`@スクリプト`、`rake:タスク`、`!シェル`、`cd <パス>`) |
|
|
98
|
+
| `J`、`L`、`C` | ジョブ、ログ、設定ディレクトリ |
|
|
130
99
|
| `?` | ヘルプ |
|
|
131
|
-
| `
|
|
132
|
-
| `C` | ~/.config/rufio/を開く(Configモード、操作はFilesと共通) |
|
|
133
|
-
| `Shift+Tab` | モード切り替え(逆順) |
|
|
134
|
-
|
|
135
|
-
### Gモード(横断検索)
|
|
136
|
-
|
|
137
|
-
`G` を押すと、ブックマークした全ディレクトリの配下を再帰的に検索します。
|
|
138
|
-
Tabで **File names(ファイル名)** と **Content(ファイル内容)** を切り替えます。
|
|
139
|
-
大文字・小文字を区別しない文字列の部分一致で検索し、内容検索ではファイル名・行番号・一致した行を表示します。
|
|
140
|
-
通常のテキストはUTF-8として読み込み、文書抽出に対応していないファイルは先頭8 KBにNULバイトがあればバイナリとしてスキップします。
|
|
141
|
-
上下矢印または `Ctrl+N/P` で選択、
|
|
142
|
-
Enterで選んだファイルの場所へ移動します。`Ctrl+U` で検索語をクリアし、
|
|
143
|
-
Escで元の表示に戻ります。検索はバックグラウンドで進みます。
|
|
144
|
-
検索対象は `b` で登録したブックマークです。外部検索ツールは不要です。
|
|
145
|
-
アクセスできないディレクトリはスキップし、ディレクトリのシンボリックリンクは辿りません。
|
|
146
|
-
検索中は黄色の `Searching...` と動くスピナーを表示します。
|
|
147
|
-
結果がまだ見つかっていない間も表示が動き、完了すると緑の `Search complete` に切り替わります。
|
|
148
|
-
|
|
149
|
-
ファイル名検索・内容検索から特定の拡張子を除外するには、
|
|
150
|
-
`~/.config/rufio/config.rb` に以下を追加してRufioを再起動します。
|
|
151
|
-
|
|
152
|
-
```ruby
|
|
153
|
-
GLOBAL_SEARCH_EXCLUDED_EXTENSIONS = %w[.png .jpg .zip .tar.gz .log].freeze
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
大文字・小文字は区別せず、先頭のドットは省略できます。デフォルトは `[]`(拡張子の除外なし)です。
|
|
157
|
-
ディレクトリ名には適用しません。
|
|
158
|
-
|
|
159
|
-
#### PDF・Excel・PowerPointの内容検索(v1.2.0)
|
|
160
|
-
|
|
161
|
-
Contentモードで文書内の文字列も検索できます。Rubyのgemで抽出するため、
|
|
162
|
-
Python・Microsoft Office・外部変換コマンドは不要です。
|
|
163
|
-
|
|
164
|
-
| ファイル | 検索する内容 | 結果の位置表示 |
|
|
165
|
-
|------------|--------------|----------------|
|
|
166
|
-
| `.pdf` | 抽出可能な文字列 | ページ番号 |
|
|
167
|
-
| `.xlsx` | セルの文字列・値 | シート名・セル番地 |
|
|
168
|
-
| `.pptx` | スライドの図形・表内の文字列 | スライド番号 |
|
|
169
|
-
|
|
170
|
-
大文字・小文字を区別しない部分一致検索です。PowerPointの段落内で分割された文字列は連結し、
|
|
171
|
-
スライド番号はプレゼンテーションの表示順に対応します。
|
|
172
|
-
Excelの数式はファイルに保存済みの計算結果を検索し、再計算は行いません。
|
|
173
|
-
Enterでは元の文書の場所へ移動します。Officeでセルやスライドを直接開く機能ではありません。
|
|
174
|
-
|
|
175
|
-
抽出した文字列は起動中のメモリにキャッシュし、検索語を変更しても再利用します。
|
|
176
|
-
最大64文書、文字列とメタデータの概算で16 MiBまで保持し、超える文書もキャッシュせずに検索します。
|
|
177
|
-
ファイルを更新・置換した場合は再抽出します。キャッシュをディスクには保存しません。
|
|
178
|
-
|
|
179
|
-
拡張子除外設定は文書にも適用します。破損・非対応・暗号化された文書でエラーが発生しても、他のファイルの検索は続行します。
|
|
180
|
-
画像だけのPDFにはOCRが必要ですが、今回の実装には含みません。旧形式の`.xls`・`.ppt`、
|
|
181
|
-
スライドノート、画像やグラフだけに含まれる文字列も対象外です。
|
|
182
|
-
PDFの文字抽出精度は、文書のフォントや文字コードの対応情報に依存します。
|
|
183
|
-
|
|
184
|
-
### Configモード(C)
|
|
185
|
-
|
|
186
|
-
`C` で `~/.config/rufio/` を開きます。ディレクトリがなければ作成します。
|
|
187
|
-
移動・プレビュー・ファイル操作はFilesモードと共通で、設定やスクリプトを直接編集できます。
|
|
188
|
-
設定ディレクトリの外へ移動すると、モード表示がFilesに戻ります。
|
|
189
|
-
|
|
190
|
-
### シェル連携
|
|
191
|
-
|
|
192
|
-
`rufio --shell-init` は OS に合わせた `rf` というシェル関数を出力します。Windows では
|
|
193
|
-
PowerShell 用、それ以外ではログインシェル(`bash`・`zsh`・`fish`)用です。シェル名を
|
|
194
|
-
指定して切り替えることもできます。`rf` で rufio を起動し `T` を押すと、終了してシェルが
|
|
195
|
-
表示中のディレクトリへ移動します。`q` で終了した場合は移動しません。
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
# bash / zsh(~/.bashrc または ~/.zshrc)
|
|
199
|
-
eval "$(rufio --shell-init)"
|
|
100
|
+
| `q`、`T` | 終了、終了してシェルを現在のディレクトリへ移動 |
|
|
200
101
|
|
|
201
|
-
|
|
202
|
-
rufio --shell-init fish | source
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
```powershell
|
|
206
|
-
# PowerShell($PROFILE)
|
|
207
|
-
Invoke-Expression (& rufio --shell-init powershell | Out-String)
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
シェル起動のたびに Ruby を起動したくない場合は、`rufio --shell-init >> ~/.bashrc` の
|
|
211
|
-
ように一度だけ出力を追記してください。
|
|
212
|
-
|
|
213
|
-
## コマンドモード
|
|
214
|
-
|
|
215
|
-
`:` でコマンドモードを起動し、様々なコマンドを実行できます。
|
|
216
|
-
|
|
217
|
-
### スクリプト実行
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
:@build # @で始まるとスクリプト補完
|
|
221
|
-
:@deploy.rb # 登録済みスクリプトを実行
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### シェルコマンド
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
:!git status # !で始まるとシェルコマンド
|
|
228
|
-
:!ls -la # バックグラウンドで実行
|
|
229
|
-
```
|
|
102
|
+
Gモードでは `Ctrl+J` / `Ctrl+K` で次/前の検索結果を選択し、`Enter` で開きます。
|
|
230
103
|
|
|
231
|
-
|
|
104
|
+
## ドキュメント
|
|
232
105
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## スクリプトパス
|
|
239
|
-
|
|
240
|
-
### スクリプトパスとは
|
|
241
|
-
|
|
242
|
-
スクリプトファイルを配置するディレクトリを登録する機能です。登録したディレクトリ内のスクリプトは、コマンドモードで `@` プレフィックスを使って実行できます。
|
|
243
|
-
|
|
244
|
-
### 管理方法
|
|
245
|
-
|
|
246
|
-
`B` → `3` でスクリプトパス管理メニューを開きます:
|
|
247
|
-
|
|
248
|
-
- 登録済みパスの一覧表示
|
|
249
|
-
- `d`: パスを削除
|
|
250
|
-
- `Enter`: ディレクトリにジャンプ
|
|
251
|
-
- `ESC`: メニューを閉じる
|
|
252
|
-
|
|
253
|
-
### 対応スクリプト
|
|
254
|
-
|
|
255
|
-
| 拡張子 | 言語 |
|
|
256
|
-
|--------|------|
|
|
257
|
-
| `.rb` | Ruby |
|
|
258
|
-
| `.py` | Python |
|
|
259
|
-
| `.ps1` | PowerShell |
|
|
260
|
-
| `.sh` | Shell (bash/zsh) |
|
|
261
|
-
|
|
262
|
-
## DSLコマンド
|
|
263
|
-
|
|
264
|
-
`~/.config/rufio/commands.rb` でカスタムコマンドを定義できます:
|
|
265
|
-
|
|
266
|
-
```ruby
|
|
267
|
-
command "hello" do
|
|
268
|
-
ruby { "Hello from rufio!" }
|
|
269
|
-
description "挨拶コマンド"
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
command "status" do
|
|
273
|
-
shell "git status"
|
|
274
|
-
description "Gitステータス"
|
|
275
|
-
end
|
|
276
|
-
|
|
277
|
-
command "build" do
|
|
278
|
-
script "~/.config/rufio/scripts/build.rb"
|
|
279
|
-
description "ビルド実行"
|
|
280
|
-
end
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
## 設定
|
|
284
|
-
|
|
285
|
-
### 設定ファイル構成
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
~/.config/rufio/
|
|
289
|
-
├── config.rb # メイン設定(スクリプトパス、カラー等)
|
|
290
|
-
├── commands.rb # DSLコマンド定義
|
|
291
|
-
├── bookmarks.json # ブックマーク
|
|
292
|
-
├── scripts/ # スクリプトファイル
|
|
293
|
-
└── logs/ # 実行ログ
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
### 設定例
|
|
297
|
-
|
|
298
|
-
```ruby
|
|
299
|
-
# ~/.config/rufio/config.rb
|
|
300
|
-
|
|
301
|
-
# スクリプトパス - スクリプトを配置するディレクトリ
|
|
302
|
-
SCRIPT_PATHS = [
|
|
303
|
-
'~/.config/rufio/scripts',
|
|
304
|
-
'~/my-scripts',
|
|
305
|
-
'./scripts'
|
|
306
|
-
].freeze
|
|
307
|
-
|
|
308
|
-
# カラー設定(HSL形式推奨)
|
|
309
|
-
COLORS = {
|
|
310
|
-
directory: { hsl: [220, 80, 60] },
|
|
311
|
-
file: { hsl: [0, 0, 90] },
|
|
312
|
-
executable: { hsl: [120, 70, 50] },
|
|
313
|
-
selected: { hsl: [50, 90, 70] },
|
|
314
|
-
preview: { hsl: [180, 60, 65] }
|
|
315
|
-
}.freeze
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### ローカル設定
|
|
319
|
-
|
|
320
|
-
プロジェクトルートに `rufio.rb` を配置すると、そのプロジェクト専用のスクリプトパスを設定できます:
|
|
321
|
-
|
|
322
|
-
```ruby
|
|
323
|
-
# ./rufio.rb(プロジェクトルート)
|
|
324
|
-
SCRIPT_PATHS = [
|
|
325
|
-
'./scripts',
|
|
326
|
-
'./bin'
|
|
327
|
-
].freeze
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
## 外部ツール連携
|
|
331
|
-
|
|
332
|
-
rufioは以下の外部ツールと連携して機能を拡張します。
|
|
333
|
-
すべて**オプション**です。インストールなしでも rufio は正常動作します。
|
|
334
|
-
|
|
335
|
-
| ツール | 用途 | キー | 必須 |
|
|
336
|
-
|--------|------|------|------|
|
|
337
|
-
| fzf | ファイル名検索 | `s` | オプション |
|
|
338
|
-
| rga | ファイル内容検索 | `F` | オプション |
|
|
339
|
-
| zoxide | ディレクトリ履歴 | `z` | オプション |
|
|
340
|
-
| bat | プレビューのシンタックスハイライト | — | オプション |
|
|
341
|
-
|
|
342
|
-
### bat — シンタックスハイライト
|
|
343
|
-
|
|
344
|
-
`bat` をインストールすると、プレビューペインでコードファイルを開いた際に
|
|
345
|
-
シンタックスハイライトが表示されます(Ruby、Python、Go、Rust、TypeScript など15言語以上対応)。
|
|
346
|
-
|
|
347
|
-
ハイライトはバックグラウンドで非同期に読み込まれるため、大きなソースツリーでも
|
|
348
|
-
カーソル移動が重くなりません。
|
|
349
|
-
|
|
350
|
-
```bash
|
|
351
|
-
# macOS
|
|
352
|
-
brew install bat
|
|
353
|
-
|
|
354
|
-
# Ubuntu/Debian
|
|
355
|
-
apt install bat
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
`rufio -c` を実行すると bat が正しく認識されているか確認できます。
|
|
359
|
-
|
|
360
|
-
### インストール(全ツール)
|
|
361
|
-
|
|
362
|
-
```bash
|
|
363
|
-
# macOS
|
|
364
|
-
brew install fzf bat rga zoxide
|
|
365
|
-
|
|
366
|
-
# Ubuntu/Debian
|
|
367
|
-
apt install fzf bat zoxide
|
|
368
|
-
# rgaは別途インストール: https://github.com/phiresky/ripgrep-all
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
## 高度な機能
|
|
372
|
-
|
|
373
|
-
### ネイティブコンテンツ検索
|
|
374
|
-
|
|
375
|
-
G mode のコンテンツ検索は、macOS(arm64/x86_64)、Linux(x86_64/aarch64、glibc 2.17 以降または musl)、Windows(x64/arm64)では同梱の Zig エンジンで動作します。ブックマークを並列に検索し、検索の間でファイル内容をキャッシュするため、検索語を打ち直したときの再検索は `rg` の約 10 倍速くなります。その他のプラットフォームや、大文字小文字のある非 ASCII 文字を含む検索語では自動的に Ruby の検索を使います。`RUFIO_NATIVE_SEARCH=0` で無効化できます。
|
|
376
|
-
|
|
377
|
-
### ZIP の圧縮・展開
|
|
378
|
-
|
|
379
|
-
Files モードで `Space` で選択して `z` を押すと、選択がすべて `.zip` ならそれぞれを現在のディレクトリの `<名前>/` に展開し、それ以外は 1 つの `.zip` に圧縮します。処理はジョブとして実行されます(Jobs モードで進捗表示・キャンセル)。`.zip` はプレビューでエントリ一覧も表示します。
|
|
380
|
-
|
|
381
|
-
展開時は書き込み前にアーカイブ全体を検証します。パストラバーサル・絶対パス・データ範囲が重なるエントリ、合計 16GiB・10 万エントリ・圧縮率 1000:1(1MiB 超のエントリ)を超えるアーカイブを拒否し、シンボリックリンクと暗号化エントリはスキップし、CRC-32 を検証し、既存ファイルは上書きしません。対応する圧縮方式は Stored と Deflate です。
|
|
382
|
-
|
|
383
|
-
コンテンツ検索と同じプラットフォームでは、同梱の Zig エンジンがエントリの伸長と 1MiB 以上のファイルの圧縮を並列に行います(4 CPU で 64MB のテキスト 8 ファイルを計測したところ、Ruby 実装より圧縮が約 4.6 倍、展開が約 3.2 倍速くなりました)。検証はどちらの場合も Ruby 側で行います。`RUFIO_NATIVE_ZIP=0` で Ruby 実装のみを使います。
|
|
384
|
-
|
|
385
|
-
同梱バイナリの再ビルド(Zig 0.17 が必要):
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
make -C lib_zig/rufio_native dist # 全プラットフォーム
|
|
389
|
-
bundle exec rake native:check # 同梱バイナリの検証
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
### ネイティブスキャナー(実験的)
|
|
393
|
-
|
|
394
|
-
高速なディレクトリスキャンのためのネイティブ実装をサポート:
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
rufio --native # 自動検出
|
|
398
|
-
rufio --native=zig # Zig実装
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### JITコンパイラ
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
rufio --yjit # Ruby 3.1+ YJIT
|
|
405
|
-
rufio --zjit # Ruby 3.4+ ZJIT
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
### ヘルスチェック
|
|
409
|
-
|
|
410
|
-
```bash
|
|
411
|
-
rufio -c # システム依存関係をチェック
|
|
412
|
-
rufio --check-health # 同上
|
|
413
|
-
```
|
|
106
|
+
- **[操作ガイド](./docs/guide_ja.md)**: キー・モード・コマンドモード・スクリプト・DSL コマンド・設定・シェル連携・ネイティブエンジン
|
|
107
|
+
- **[CHANGELOG](./CHANGELOG.md)**: リリースノート
|
|
108
|
+
- **[SECURITY.md](./SECURITY.md)**: セキュリティ設計
|
|
414
109
|
|
|
415
110
|
## 開発
|
|
416
111
|
|
|
417
112
|
### 必要な環境
|
|
418
113
|
|
|
419
114
|
- Ruby 2.7.0以上
|
|
420
|
-
- io-console, pastel, tty-cursor, tty-screen gems
|
|
421
115
|
|
|
422
116
|
### 開発版の実行
|
|
423
117
|
|