diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2024-04-18 07:57:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 07:57:58 -0700 |
commit | f1dfe32bf5552197e0068298b0527526a4f918b1 (patch) | |
tree | af5b20cf246d1025434f8ca9e01f2ce79d2b8847 /test/functional/plugin/lsp/inlay_hint_spec.lua | |
parent | 97323d821be97deeb1a5797b4ca534156b9e9b0c (diff) | |
download | rneovim-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.lua | 33 |
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 ) |