You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
また"メッセージ"という書き方だと、クライアントからサーバーに送られるリクエストしか指しておらず、それではサーバー側が Server Capabilities をクライアントに response back することができない。ので、 initialize request/response で....としたほうが正しいかなと思いました。
P16 Server Capabilities で指定しなかった機能は、クライアントがサポートしていてもリクエストを送らないようになります。多くのリクエストはクライアント起点で送信されるので、クライアントが対応していない機能に関してサーバー側で何か対処したりする必要はありません。
これ、1つ目の文は Server Capabilities の説明で、2つめの文は Client Capabilities の説明ってことであってますか?
https://mtshiba.github.io/documents/lsp_book_draft_v2.pdf に対するレビューです
https://prog-lang-sys-ja.zulipchat.com/#narrow/stream/343500-.E9.9B.91.E8.AB.87/topic/LSP.E3.81.AE.E6.9C.AC.E3.82.92.E6.9B.B8.E3.81.8D.E3.81.BE.E3.81.97.E3.81.9F/near/388313721
Review
全体
ServerCapabilities
など、LSPで定義されているデータ型をまるまるコピペして書いているけれど、解説する一部のデータ型だけに絞って書いて、詳細は specification へのリンクを貼ってそっちを参照してねってするのでもいいかもしれません。Request
Notifiation
と書いたほうがわかりやすいんじゃないかなと思いますがどうでしょう?細かいフィードバック
JSON-RPC は RPC protocol なので、ペイロードが JSON-RPC っていう言い方は違和感があります。
"ペイロードは JSON-RPC message です" はどうでしょう?
"これ" は notification だと思うのですが、先の文章で立て続けに request と notification の説明をしているので、何を指しているのかがわかりにくい気がします。"notification はサーバーかクライアントが一方的にメッセージを送り、応答は要求しません。" などでどうでしょう?
「型」-> データ形式 もしくは ペイロード?
なんで括弧で囲われているんでしょう? typo?
ここまでは JSON-RPC の話ではなくて、LSP での (JSON-RPCをベースとしている) base protocol の話な気がします。JSON-RPC の話だったら mime type の話とかは関係ないはず
"LSPの基本的にな通信形式の解説は以上となります。"とか?
initialize
リクエストがクライアントからサーバーに最初に送信されるべきメッセージだということが前提に書かれている気がします。わかっている人にしか伝われなそう。最初のメッセージ ではなくinitialize
リクエストで...という書き方の方が分かりやすい?initialize request/response
で....としたほうが正しいかなと思いました。これ、1つ目の文は Server Capabilities の説明で、2つめの文は Client Capabilities の説明ってことであってますか?
2文目
"Client Capabilities をサーバー側に伝えることにより、サーバー側はクライアントが対応していない機能に関するデータの処理を省略することができます。"
などどうでしょう?多くのリクエストはクライアント起点で送信される、とその次の文章を順接でつなげるのよく分かりませんでした。
file
とは限らないはず。LSP では URI schema に対する言及はないhttps://...
で言及することもあります。も書いておくと親切?
カーソル範囲選択しているときは~ みたいなのも言及しても良いかも(どっちでもいい)
JSON-RPC message として...
コメント:
LSP において Request と Notification は別物なのでどっちやねんと思いました。
"通知" だけでよいのではないでしょうか? (全体フィードバックにも書きましたが、Notification のほうが個人的には良いと思います)
何が空であるべき? かが曖昧だと思いました。
"Diagnostics が空リストな notification を送る必要があります" でどうでしょう?
"この際にサーバーが codeAction 生成に必要となるデータを、diagnostic の data プロパティを通じてクライアントに渡しておくのです。"
などはどうでしょう?
モジュールシステムの定義がよくわかってないのですが、プログラムを複数ファイルに分割できる(これはモジュールシステムではない?)ならパスは必要になると思います。
"モジュールシステムを持つ言語の場合、Location だけでは足りません。" この一文はなくても良いかも
構文要素というよりかは AST node のことですよね?
構文要素って token とか、tokenないのcharacterも含まれる気がする?
"不完全な" -> "documentation や details フィールドが欠けた補完候補が" でどうでしょう?
"これを利用して、最初の1文字入力したときのcompletionでは、未インポートのシンボルは探索せず、ある程度文字数が入力されたら、それらのシンボルも探索し、CompletionListを更新するといった実装も出来ます。" とかだとどうでしょうか?
"サーバーから取得する CodeAction の種類を指定します。何もしないしない場合はすべてのCodeActionを取得します。" でどうでしょう?
The text was updated successfully, but these errors were encountered: