diff options
author | Mathias Fußenegger <mfussenegger@users.noreply.github.com> | 2023-06-09 11:32:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-09 11:32:43 +0200 |
commit | e5e0bda41b640d324350c5147b956e37e9f8b32c (patch) | |
tree | d546e647fcde46494740852171593e78101d9997 /runtime/doc/deprecated.txt | |
parent | f31dba93f921891159eb707b185517648df00d6b (diff) | |
download | rneovim-e5e0bda41b640d324350c5147b956e37e9f8b32c.tar.gz rneovim-e5e0bda41b640d324350c5147b956e37e9f8b32c.tar.bz2 rneovim-e5e0bda41b640d324350c5147b956e37e9f8b32c.zip |
feat(lsp)!: add vim.lsp.status, client.progress and promote LspProgressUpdate (#23958)
`client.messages` could grow unbounded because the default handler only
added new messages, never removing them.
A user either had to consume the messages by calling
`vim.lsp.util.get_progress_messages` or by manually removing them from
`client.messages.progress`. If they didn't do that, using LSP
effectively leaked memory.
To fix this, this deprecates the `messages` property and instead adds a
`progress` ring buffer that only keeps at most 50 messages. In addition
it deprecates `vim.lsp.util.get_progress_messages` in favour of a new
`vim.lsp.status()` and also promotes the `LspProgressUpdate` user
autocmd to a regular autocmd to allow users to pattern match on the
progress kind.
Also closes https://github.com/neovim/neovim/pull/20327
Diffstat (limited to 'runtime/doc/deprecated.txt')
-rw-r--r-- | runtime/doc/deprecated.txt | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/runtime/doc/deprecated.txt b/runtime/doc/deprecated.txt index 6494c53059..73888a32cc 100644 --- a/runtime/doc/deprecated.txt +++ b/runtime/doc/deprecated.txt @@ -117,19 +117,21 @@ internally and are no longer exposed as part of the API. Instead, use - *vim.lsp.diagnostic.set_virtual_text()* LSP FUNCTIONS -- *vim.lsp.buf.range_code_action()* Use |vim.lsp.buf.code_action()| with - the `range` parameter. -- *vim.lsp.util.diagnostics_to_items()* Use |vim.diagnostic.toqflist()| instead. -- *vim.lsp.util.set_qflist()* Use |setqflist()| instead. -- *vim.lsp.util.set_loclist()* Use |setloclist()| instead. -- *vim.lsp.buf_get_clients()* Use |vim.lsp.get_active_clients()| with - {buffer = bufnr} instead. -- *vim.lsp.buf.formatting()* Use |vim.lsp.buf.format()| with - {async = true} instead. -- *vim.lsp.buf.formatting_sync()* Use |vim.lsp.buf.format()| with - {async = false} instead. -- *vim.lsp.buf.range_formatting()* Use |vim.lsp.formatexpr()| - or |vim.lsp.buf.format()| instead. +- *vim.lsp.buf.range_code_action()* Use |vim.lsp.buf.code_action()| with + the `range` parameter. +- *vim.lsp.util.diagnostics_to_items()* Use |vim.diagnostic.toqflist()| instead. +- *vim.lsp.util.set_qflist()* Use |setqflist()| instead. +- *vim.lsp.util.set_loclist()* Use |setloclist()| instead. +- *vim.lsp.buf_get_clients()* Use |vim.lsp.get_active_clients()| with + {buffer = bufnr} instead. +- *vim.lsp.buf.formatting()* Use |vim.lsp.buf.format()| with + {async = true} instead. +- *vim.lsp.buf.formatting_sync()* Use |vim.lsp.buf.format()| with + {async = false} instead. +- *vim.lsp.buf.range_formatting()* Use |vim.lsp.formatexpr()| + or |vim.lsp.buf.format()| instead. +- *vim.lsp.util.get_progress_messages()* Use |vim.lsp.status()| or access + `progress` of |vim.lsp.client| TREESITTER FUNCTIONS - *vim.treesitter.language.require_language()* Use |vim.treesitter.language.add()| |