Omni completion engine for Ruby
初期リリースの草案です(草案)
- 標準クラス及び現在のファイル内で定義されたクラスのメンバをオムニ補完
Ruby
により実装Vim
やEmacs
などからの利用を想定
- リテラルからの予測
ClassName.new
からの予測。オーバーライドは考えず、ClassName
な型を返すと仮定する- 変数名からの補完。上記2つを直接変数に代入している式がカーソル位置より上部の行にある場合、代入時点の型から変わっていないものと仮定する
- 現在のファイル内で直接定義されているもの
define_method
とかは無視(Ignore)
Ripper
でがんばる(かなり)- 速度が満足でない場合、irbプロセスを常駐させる形にしたい(したい)
Rsense
の実装を調査
.。oO(Rubyは書き方が多いので、Ripperは多分悪手なんです。C拡張には対応出来ませんし、クラスはClass.new{ }とか、メソッドはdefine_method :name, { }とか、網羅的に考えないといけなくなります。とはいえ「実行してみて」ですと、moudle定義が副作用を持ってゐる可能性が有ります。JavaScriptのAdobe Bracketsは、「実行してみて」るみたいですけど。)