mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
feat(lsp): inlay_hint.is_enabled({filter}) #28523
vim.diagnostic.enable and vim.diagnostic.is_enabled() use the same pattern.
This commit is contained in:
parent
d5063f4b29
commit
350d818564
@ -1645,13 +1645,15 @@ get({filter}) *vim.lsp.inlay_hint.get()*
|
||||
• {client_id} (`integer`)
|
||||
• {inlay_hint} (`lsp.InlayHint`)
|
||||
|
||||
is_enabled({bufnr}) *vim.lsp.inlay_hint.is_enabled()*
|
||||
is_enabled({filter}) *vim.lsp.inlay_hint.is_enabled()*
|
||||
|
||||
Note: ~
|
||||
• This API is pre-release (unstable).
|
||||
|
||||
Parameters: ~
|
||||
• {bufnr} (`integer?`) Buffer handle, or 0 for current
|
||||
• {filter} (`table`) Optional filters |kwargs|, or `nil` for all.
|
||||
• {bufnr} (`integer?`) Buffer number, or 0 for current
|
||||
buffer, or nil for all.
|
||||
|
||||
Return: ~
|
||||
(`boolean`)
|
||||
|
@ -148,6 +148,8 @@ BREAKING CHANGES IN HEAD *news-breaking-dev*
|
||||
The following changes to UNRELEASED features were made during the development
|
||||
cycle (Nvim HEAD, the "master" branch).
|
||||
|
||||
• Changed the signature of `vim.lsp.inlay_hint.is_enabled()`.
|
||||
|
||||
• `vim.lsp.inlay_hint.enable()` now take effect on all buffers by default.
|
||||
|
||||
• Removed `vim.treesitter.foldtext` as transparent foldtext is now supported
|
||||
|
@ -364,12 +364,29 @@ api.nvim_set_decoration_provider(namespace, {
|
||||
end,
|
||||
})
|
||||
|
||||
--- @param bufnr (integer|nil) Buffer handle, or 0 for current
|
||||
--- @param filter vim.lsp.inlay_hint.enable.Filter
|
||||
--- @return boolean
|
||||
--- @since 12
|
||||
function M.is_enabled(bufnr)
|
||||
function M.is_enabled(filter)
|
||||
---@type integer
|
||||
local bufnr
|
||||
if type(filter) == 'number' then
|
||||
vim.deprecate(
|
||||
'vim.lsp.inlay_hint.is_enabled(bufnr:number)',
|
||||
'vim.lsp.inlay_hint.is_enabled(filter:table)',
|
||||
'0.10-dev'
|
||||
)
|
||||
bufnr = filter
|
||||
else
|
||||
vim.validate({ filter = { filter, 'table', true } })
|
||||
filter = filter or {}
|
||||
bufnr = filter.bufnr
|
||||
end
|
||||
|
||||
vim.validate({ bufnr = { bufnr, 'number', true } })
|
||||
if bufnr == nil or bufnr == 0 then
|
||||
if bufnr == nil then
|
||||
return globalstate.enabled
|
||||
elseif bufnr == 0 then
|
||||
bufnr = api.nvim_get_current_buf()
|
||||
end
|
||||
return bufstates[bufnr].enabled
|
||||
|
@ -163,7 +163,7 @@ describe('vim.lsp.inlay_hint', function()
|
||||
screen:expect({ grid = grid_with_inlay_hints, unchanged = true })
|
||||
|
||||
exec_lua(
|
||||
[[vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled(bufnr), { bufnr = bufnr })]]
|
||||
[[vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = bufnr }), { bufnr = bufnr })]]
|
||||
)
|
||||
screen:expect({ grid = grid_without_inlay_hints, unchanged = true })
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user