Language Server - implement incremental document sync (#4926)

The language server is now able to subscribe to and apply incremental
changes to the document. Source code is assumed to be utf-8. It does not
currently handle utf-16 code points.

---------

Co-authored-by: Carbon Infra Bot <carbon-external-infra@google.com>
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
Nirmal Patel
2025-02-15 02:05:56 +00:00
committed by GitHub
co-authored by Carbon Infra Bot Jon Ross-Perkins
parent 9cd3f0aa3d
commit a881e21432
17 changed files with 377 additions and 90 deletions
@@ -12,7 +12,7 @@ auto HandleInitialize(
llvm::function_ref<auto(llvm::Expected<llvm::json::Object>)->void> on_done)
-> void {
llvm::json::Object capabilities{{"documentSymbolProvider", true},
{"textDocumentSync", /*Full=*/1}};
{"textDocumentSync", /*Incremental=*/2}};
llvm::json::Object reply{{"capabilities", std::move(capabilities)}};
on_done(reply);
}