aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/lsp/inlay_hint_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-04-18 07:57:58 -0700
committerGitHub <noreply@github.com>2024-04-18 07:57:58 -0700
commitf1dfe32bf5552197e0068298b0527526a4f918b1 (patch)
treeaf5b20cf246d1025434f8ca9e01f2ce79d2b8847 /test/functional/plugin/lsp/inlay_hint_spec.lua
parent97323d821be97deeb1a5797b4ca534156b9e9b0c (diff)
downloadrneovim-f1dfe32bf5552197e0068298b0527526a4f918b1.tar.gz
rneovim-f1dfe32bf5552197e0068298b0527526a4f918b1.tar.bz2
rneovim-f1dfe32bf5552197e0068298b0527526a4f918b1.zip
feat(lua): enable(enable:boolean, filter:table) #28374
Problem: We need to establish a pattern for `enable()`. Solution: - First `enable()` parameter is always `enable:boolean`. - Update `vim.diagnostic.enable()` - Update `vim.lsp.inlay_hint.enable()`. - It was not released yet, so no deprecation is needed. But to help HEAD users, it will show an informative error. - vim.deprecate(): - Improve message when the "removal version" is a *current or older* version.
Diffstat (limited to 'test/functional/plugin/lsp/inlay_hint_spec.lua')
-rw-r--r--test/functional/plugin/lsp/inlay_hint_spec.lua33
1 files changed, 26 insertions, 7 deletions
diff --git a/test/functional/plugin/lsp/inlay_hint_spec.lua b/test/functional/plugin/lsp/inlay_hint_spec.lua
index 64c65b74c3..24c93fcbe0 100644
--- a/test/functional/plugin/lsp/inlay_hint_spec.lua
+++ b/test/functional/plugin/lsp/inlay_hint_spec.lua
@@ -84,7 +84,7 @@ before_each(function()
)
insert(text)
- exec_lua([[vim.lsp.inlay_hint.enable(bufnr)]])
+ exec_lua([[vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })]])
screen:expect({ grid = grid_with_inlay_hints })
end)
@@ -111,7 +111,7 @@ describe('vim.lsp.inlay_hint', function()
}
})
client2 = vim.lsp.start({ name = 'dummy2', cmd = server2.cmd })
- vim.lsp.inlay_hint.enable(bufnr)
+ vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })
]])
exec_lua([[ vim.lsp.stop_client(client2) ]])
@@ -119,17 +119,36 @@ describe('vim.lsp.inlay_hint', function()
end)
describe('enable()', function()
+ it('validation', function()
+ t.matches(
+ 'enable: expected boolean, got table',
+ t.pcall_err(exec_lua, [[vim.lsp.inlay_hint.enable({}, { bufnr = bufnr })]])
+ )
+ t.matches(
+ 'filter: expected table, got number',
+ t.pcall_err(exec_lua, [[vim.lsp.inlay_hint.enable(true, 42)]])
+ )
+
+ exec_lua [[vim.notify = function() end]]
+ t.matches(
+ 'see %:help vim%.lsp%.inlay_hint%.enable',
+ t.pcall_err(exec_lua, [[vim.lsp.inlay_hint.enable(42)]])
+ )
+ end)
+
it('clears/applies inlay hints when passed false/true/nil', function()
- exec_lua([[vim.lsp.inlay_hint.enable(bufnr, false)]])
+ exec_lua([[vim.lsp.inlay_hint.enable(false, { bufnr = bufnr })]])
screen:expect({ grid = grid_without_inlay_hints, unchanged = true })
- exec_lua([[vim.lsp.inlay_hint.enable(bufnr, true)]])
+ exec_lua([[vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })]])
screen:expect({ grid = grid_with_inlay_hints, unchanged = true })
- exec_lua([[vim.lsp.inlay_hint.enable(bufnr, not vim.lsp.inlay_hint.is_enabled(bufnr))]])
+ exec_lua(
+ [[vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled(bufnr), { bufnr = bufnr })]]
+ )
screen:expect({ grid = grid_without_inlay_hints, unchanged = true })
- exec_lua([[vim.lsp.inlay_hint.enable(bufnr)]])
+ exec_lua([[vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })]])
screen:expect({ grid = grid_with_inlay_hints, unchanged = true })
end)
end)
@@ -163,7 +182,7 @@ describe('vim.lsp.inlay_hint', function()
}
})
client2 = vim.lsp.start({ name = 'dummy2', cmd = server2.cmd })
- vim.lsp.inlay_hint.enable(bufnr)
+ vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })
]],
expected2
)