Language Server Protocol の仕様 及び実装方法

Language Server Protocol の仕様 及び実装方法

Language Server Protocol通称LSPの仕様と、各機能をどうやって実装したら良いかの指針を示します。 対象読者 * 言語処理系を実装する人/したい人 * Language Serverを実装する/したい人 * LSPに興味がある人、日本語のまとまった情報源を探している人 * Language Serverがエディタの裏でどのようなことをしているのか気になる人 本書で解説される機能は以下の通りです。 * Diagnostics (検査) * Completion (補完) * Inlay hint * Hover * Goto definition (定義へ移動) * Find references (参照を表示/移動) * Rename (名前変更) * Code actions * Code lens * Signature help * Command * Document symbol * Workspace symbol * Call hierarchy * Folding range * Workspace configuration 本書は2023年10月現在の最新バージョンであるLSP 3.17の内容に基づき執筆されています。新しいバージョンで変更点等があれば随時更新します。 なお、本書はサーバーサイドの実装をメインに取り扱います。クライアントサイド(エディタ)の実装に関する言及はほぼありません。予めご了承ください。 (本文は全編無料公開しますが、有料購入していただけると非常に励みになります。やる気を出して増補するかもしれません。) * 更新履歴 2023/10/1: 本文公開 2023/10/4: semantic tokensの章と付録2(簡易言語のLanguage Serverを作る)を追加 * サポートページ 本書の内容に誤りや不足がある場合は、GitHubのリポジトリ(https://github.com/mtshiba/lsp-book)からissueとして報告していただくか、Pull Requestを送っていただけると幸いです。 質問等があればdiscussionsからお気軽にどうぞ。 Zennの読者コミュニティ(兼Q&A置き場)(https://zenn.dev/mtshiba/scraps/4a8250a0d38103)からも質問できます。

Community
Author
shiba
Topics
公開
本文更新
文章量
121,379
価格
800