hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

指の状態が不穏だったので,ちまちま薬塗っていたところ,ちょっとずつ治ってきた.

一日に2〜3回くらい保湿のクリームと薬を塗ってください,流れやすいので,手を洗ったらまた保湿してください,とのことだったけど,ふつうに暮らしていたら1日に20回くらい手を洗う気がする.料理する前に手を洗って,料理終わったら手を洗って,皿を洗ったら手を洗って,風呂を洗ったら手を洗って,風呂でも手を洗って,歯を磨いたら手に水がかかったりするのでまた手を洗って,また薬を塗って,寝る前に水でも飲んだらまたコップを洗って手を洗って,という暮らし.

去年惨敗したISUCONに今年も出るべく練習をしていた.今日の練習も惨敗って感じで,変なところでハマって無意味に時間がなくなったり,椅子と机の高さが合わなくて疲れたりしていた.

一日中ハマってなにも進んでないと,自分の無力さを知ることができて良い.ふだんの仕事ではコードベースやチームのメンバーなど,ハマることのないように工夫されているけど,それ以外では,厳しい自然界の前には,人間はあまりに無力,という気持ちになる.

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でがんばる,くらいの世界がここ数年くらい続いている気がする.ほかになんかいいのありますか?