おんがえしの blog

作ったプログラムと調べた技術情報

補完の効く irb 環境を WSL 経由で Windows に導入するためのメモ

前回 で WSL に Ruby 3.3 が入ったので次は irb の設定をします。

最新の irb では型補完の追加、補完ダイアログの色変更API、デバッグに便利な機能、その他便利な機能追加などが入り、対話的なプロトタイピングやデバッグ、学習や実験の作業効率が大きく向上しています。また型情報を利用したより精度の高い補完アルゴリズムも使えるようになっています。目標は自分の書いているライブラリ内の sig/ に記述したメソッドが補完できるようにすることです。

json_canvas ライブラリを読み込んで補完入力

irb のセットアップ

bash(シェル)に以下を貼り付けて実行します。

# gem のインストール
gem install repl_type_completor

# .irbrc に設定追加
echo 'IRB.conf[:COMPLETOR] = :type' >> ~/.irbrc

# irb 起動。
irb

irb が起動したら irb_info で設定を確認します。Completion に ReplTypeCompletor が使われていたら成功です。

irb(main):001> irb_info
Ruby version: 3.3.1
IRB version: irb 1.13.1 (2024-05-05)
InputMethod: RelineInputMethod with Reline 0.5.8
Completion: Autocomplete, ReplTypeCompletor: 0.1.6, Prism: 0.29.0, RBS: 3.5.0.pre.2
.irbrc paths: /home/ongaeshi/.irbrc
RUBY_PLATFORM: x86_64-linux
LANG env: C.UTF-8
East Asian Ambiguous Width: 1
=> nil

基本的な使い方

テキストを入力すると自動で補完候補が表示されます。補完候補が表示されているときは以下のホットキーが使えます。

操作 ホットキー
次の補完候補に移動 TAB
1つ前の補完候補に移動 Shift+TAB
補完対象のドキュメントを表示 Alt+D

また補完中に関わらずテキスト入力中は以下のホットキーが使えます。

操作 ホットキー
入力中のテキストをすべてクリア Ctrl+U
直前のドットまでテキストをクリア Alt+Backspace

開発中のライブラリや sig を読み込んだ状態で irb を起動したい

bundler に repl_type_completor と irb を追加します。

※ 注: 2024-06-16 現在、irb には repl_type_completor の依存が含まれていないので手動でインストールする必要があります。

$ cd /path/to/project
$ bundle add repl_type_completor irb --group development

bundle exec 経由で irb を起動するとライブラリが require できるようになります。

$ bundle exec irb

これでライブラリに sig を書いていれば補完も効くようになります。