mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 02:34:59 -07:00
fix: remove vim.lsp._with_extend
Not used anywhere.
This commit is contained in:
parent
bdfba8598b
commit
5c245ec3e9
@ -1279,44 +1279,6 @@ function lsp.with(handler, override_config)
|
||||
end
|
||||
end
|
||||
|
||||
--- Helper function to use when implementing a handler.
|
||||
--- This will check that all of the keys in the user configuration
|
||||
--- are valid keys and make sense to include for this handler.
|
||||
---
|
||||
--- Will error on invalid keys (i.e. keys that do not exist in the options)
|
||||
--- @param name string
|
||||
--- @param options table<string,any>
|
||||
--- @param user_config table<string,any>
|
||||
function lsp._with_extend(name, options, user_config)
|
||||
user_config = user_config or {}
|
||||
|
||||
local resulting_config = {} --- @type table<string,any>
|
||||
for k, v in pairs(user_config) do
|
||||
if options[k] == nil then
|
||||
error(
|
||||
debug.traceback(
|
||||
string.format(
|
||||
'Invalid option for `%s`: %s. Valid options are:\n%s',
|
||||
name,
|
||||
k,
|
||||
vim.inspect(vim.tbl_keys(options))
|
||||
)
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
resulting_config[k] = v
|
||||
end
|
||||
|
||||
for k, v in pairs(options) do
|
||||
if resulting_config[k] == nil then
|
||||
resulting_config[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
return resulting_config
|
||||
end
|
||||
|
||||
--- Registry for client side commands.
|
||||
--- This is an extension point for plugins to handle custom commands which are
|
||||
--- not part of the core language server protocol specification.
|
||||
|
@ -1,42 +0,0 @@
|
||||
local t = require('test.testutil')
|
||||
local n = require('test.functional.testnvim')()
|
||||
|
||||
local eq = t.eq
|
||||
local exec_lua = n.exec_lua
|
||||
local pcall_err = t.pcall_err
|
||||
local matches = t.matches
|
||||
|
||||
describe('lsp-handlers', function()
|
||||
describe('vim.lsp._with_extend', function()
|
||||
it('should return a table with the default keys', function()
|
||||
eq(
|
||||
{ hello = 'world' },
|
||||
exec_lua(function()
|
||||
return vim.lsp._with_extend('test', { hello = 'world' })
|
||||
end)
|
||||
)
|
||||
end)
|
||||
|
||||
it('should override with config keys', function()
|
||||
eq(
|
||||
{ hello = 'universe', other = true },
|
||||
exec_lua(function()
|
||||
return vim.lsp._with_extend(
|
||||
'test',
|
||||
{ other = true, hello = 'world' },
|
||||
{ hello = 'universe' }
|
||||
)
|
||||
end)
|
||||
)
|
||||
end)
|
||||
|
||||
it('should not allow invalid keys', function()
|
||||
matches(
|
||||
'.*Invalid option for `test`.*',
|
||||
pcall_err(exec_lua, function()
|
||||
return vim.lsp._with_extend('test', { hello = 'world' }, { invalid = true })
|
||||
end)
|
||||
)
|
||||
end)
|
||||
end)
|
||||
end)
|
Loading…
Reference in New Issue
Block a user