aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/buf.lua
diff options
context:
space:
mode:
authorChinmay Dalal <dalal.chinmay.0101@gmail.com>2023-06-20 11:36:54 +0530
committerGitHub <noreply@github.com>2023-06-19 23:06:54 -0700
commitca5de9306c00d07cce1daef1f0038c937098bc66 (patch)
treea4531c198f24195e8af966664a80fcb11d05dd21 /runtime/lua/vim/lsp/buf.lua
parent72a6643b1380cdf6f1153d70eeaffb90bdca30d6 (diff)
downloadrneovim-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.lua15
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