2019-01-01から1年間の記事一覧

LSPの実装について

やっぱりサーバによって挙動が異なるので、気づいた点をメモっておく。 initializeの応答 最初にclientからinitializeリクエストを送ると、サーバからレスポンスが返ってくるのだが、 応答に時間がかかるサーバと、すぐに返してくるサーバがある。 solargrap…

LSPの実験の続き(gopls編)

goplsでcompletionの例。 gist2a2049bbd0d0ad67e728b7a02f1b043b 行頭で、"f"とタイプしたと思っておくんなまし。 "label"はシンプルなパターン。"insertText"は無し。 "textEdit"を使うパターンかな。 "insertTextFormat"の1はPlain Textって、"insertText"…

Language Server Protocolでのcompletion responseの中身

Language Server Protocolのサーバ側の実装リスト Language Servers を見ると、同じ言語でも複数の実装が存在するものが多く、 どれを選べば良いか、悩ましい。選択肢が多いのは良い面も多いが・・・ エディタによっては(Emacsとかvimとか) Tools supporting…

Language Server Protocolのclientを書く

今どきのエディタはLanguage Server Protocol( Official page for Language Server Protocol ) を使えるものなようなので、そのクライアントを作ってみようと模索中。 まず、補完(completion)の機能を使えるようになることを目標にやってみる。 最短のステッ…