hitode909の日記

趣味はマリンスポーツですの日記です

language_server-rubyのコードを眺める

language serverの存在をきのう知った.マイクロソフトが作っている,エディタから独立した,IDE用の補完のための仕組み.
Perl用のlanguage-serverほしいので,Ruby版の実装を参考になるかと思って眺めてた.

https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md

  • 補完出してください,とかそういうのをJSON RPCで送る
  • 具体的なエディタからは独立しているという世界観のはずだけどCodeLensのコマンドとかあってVisualStudioっぽさもある

https://github.com/mtsmfm/language_server-ruby

Ruby用のlanguage-server.上のメソッドがすべて実装されてるわけではない.

https://github.com/mtsmfm/vscode-ruby-lsc

VSCode用のプラグイン

感想

language-server-protocolはあくまでプロトコルであり,ソースコードを解析して補完を出す技術は別に必要.
Perlの場合,Class::Inspectorでがんばる,くらいの世界がここ数年くらい続いている気がする.ほかになんかいいのありますか?