diff options
author | Chinmay Dalal <dalal.chinmay.0101@gmail.com> | 2023-06-20 11:36:54 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-19 23:06:54 -0700 |
commit | ca5de9306c00d07cce1daef1f0038c937098bc66 (patch) | |
tree | a4531c198f24195e8af966664a80fcb11d05dd21 /runtime/lua/vim/lsp/buf.lua | |
parent | 72a6643b1380cdf6f1153d70eeaffb90bdca30d6 (diff) | |
download | rneovim-ca5de9306c00d07cce1daef1f0038c937098bc66.tar.gz rneovim-ca5de9306c00d07cce1daef1f0038c937098bc66.tar.bz2 rneovim-ca5de9306c00d07cce1daef1f0038c937098bc66.zip |
feat(lsp): inlay hints #23984
Add automatic refresh and a public interface on top of #23736
* add on_reload, on_detach handlers in `enable()` buf_attach, and
LspDetach autocommand in case of manual detach
* unify `__buffers` and `hint_cache_by_buf`
* use callback bufnr in `on_lines` callback, bufstate: remove __index override
* move user-facing functions into vim.lsp.buf, unify enable/disable/toggle
Closes #18086
Diffstat (limited to 'runtime/lua/vim/lsp/buf.lua')
-rw-r--r-- | runtime/lua/vim/lsp/buf.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua index e0034cf86e..c3deffc1f9 100644 --- a/runtime/lua/vim/lsp/buf.lua +++ b/runtime/lua/vim/lsp/buf.lua @@ -810,4 +810,19 @@ function M.execute_command(command_params) request('workspace/executeCommand', command_params) end +--- Enable/disable/toggle inlay hints for a buffer +---@param bufnr (integer) Buffer handle, or 0 for current +---@param enable (boolean|nil) true/false to enable/disable, nil to toggle +function M.inlay_hint(bufnr, enable) + vim.validate({ enable = { enable, { 'boolean', 'nil' } }, bufnr = { bufnr, 'number' } }) + local inlay_hint = require('vim.lsp._inlay_hint') + if enable then + inlay_hint.enable(bufnr) + elseif enable == false then + inlay_hint.disable(bufnr) + else + inlay_hint.toggle(bufnr) + end +end + return M |