feat(lsp): support textDocument/onTypeFormatting (#34637)

Implements [on-type
formatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_onTypeFormatting)
using a `vim.on_key()` approach to listen to typed keys. It will listen
to keys on the *left hand side* of mappings. The `on_key` callback is
cleared when detaching the last on-type formatting client. This feature
is disabled by default.

Co-authored-by: Maria José Solano <majosolano99@gmail.com>
This commit is contained in:
Riley Bruins
2025-08-31 14:09:12 -07:00
committed by GitHub
parent f311c96973
commit 77e3efecee
8 changed files with 472 additions and 0 deletions

View File

@@ -572,6 +572,9 @@ function protocol.make_client_capabilities()
linkedEditingRange = {
dynamicRegistration = false,
},
onTypeFormatting = {
dynamicRegistration = false,
},
},
workspace = {
symbol = {