IRB 1.9.0から tompng さんの実装によりIRBでは型補完が使えるようになりました。katakata_irb の機能がIRB本体に入った形です。
今までは正規表現での補完だったため精度があまり良くなかったのですが、型のパワーを得てより速く精度の良い補完になりました。
今のところデフォルトでは正規表現補完を利用するため、型補完を利用するには設定が必要です。
依存関係
Ruby 3.0.0 以上、RBS、prism が必要です。
prism がない場合メッセージが出て、正規表現補完にフォールバックします。
型補完を有効にする方法
.irbrc
で設定
IRB.conf[:COMPLETOR] = :type
環境変数で設定
※IRB 1.9.1 以降で有効
IRB_COMPLETOR=type
Railsでは例えば development.rb
でこんな感じで有効にできます。
Rails.application.configure do console do ENV["IRB_COMPLETOR"] ||= "type" end end
irb
bin/console
などのオプションとして渡す
irb --type-completor
設定の確認方法
irb_info
でどの補完を使っているか分かります。
irb(main):001> irb_info Ruby version: 3.3.0 IRB version: irb 1.9.1 (2023-11-21) InputMethod: RelineInputMethod with Reline 0.4.0 Completion: Autocomplete, TypeCompletion::Completor(Prism: 0.17.1, RBS: 3.3.0) # 型補完 .irbrc path: /Users/mi/.irbrc RUBY_PLATFORM: x86_64-darwin21 East Asian Ambiguous Width: 1 => nil