feat(lsp): support completion itemDefaults

This commit is contained in:
Maria José Solano
2024-02-26 11:42:51 -08:00
committed by Christian Clason
parent 3d96e3f9f2
commit 63f9c2da9a
5 changed files with 93 additions and 1 deletions

View File

@@ -125,6 +125,15 @@ The following changes may require adaptations in user config or plugins.
• Returning any truthy value from a callback passed to |nvim_create_autocmd()|
(rather than just `true`) will delete the autocommand.
• |vim.lsp.util.extract_completion_items()| will no longer return reliable
results, since it does not apply `itemDefaults` when its input is a
`CompletionList`.
Moreover, since support for LSP `completionList.itemDefaults` was added,
some third party plugins might be negatively impacted in case the language
servers support the feature but the plugin does not.
If necessary, the respective capability can be
removed when calling |vim.lsp.protocol.make_client_capabilities()|.
==============================================================================
BREAKING CHANGES IN HEAD *news-breaking-dev*
@@ -213,6 +222,11 @@ The following new APIs and features were added.
the original LSP `Location` or `LocationLink`.
• Added support for connecting to servers using named pipes (Windows) or
unix domain sockets (Unix) via |vim.lsp.rpc.domain_socket_connect()|.
• Added support for `completionList.itemDefaults`, reducing overhead when
computing completion items where properties often share the same value
(e.g. `commitCharacters`). Note that this might affect plugins and
language servers that don't support the feature, and in such cases the
respective capability can be unset.
• Treesitter
• Bundled parsers and queries (highlight, folds) for Markdown, Python, and