Regenerate nvim config
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
local configs = require 'lspconfig.configs'
|
||||
|
||||
local M = {
|
||||
util = require 'lspconfig.util',
|
||||
}
|
||||
|
||||
---@class Alias
|
||||
---@field to string The new name of the server
|
||||
---@field version string The version that the alias will be removed in
|
||||
---@param name string
|
||||
---@return Alias
|
||||
local function server_alias(name)
|
||||
local aliases = {
|
||||
['fennel-ls'] = {
|
||||
to = 'fennel_ls',
|
||||
version = '0.2.0',
|
||||
},
|
||||
ruby_ls = {
|
||||
to = 'ruby_lsp',
|
||||
version = '0.2.0',
|
||||
},
|
||||
['starlark-rust'] = {
|
||||
to = 'starlark_rust',
|
||||
version = '0.2.0',
|
||||
},
|
||||
sumneko_lua = {
|
||||
to = 'lua_ls',
|
||||
version = '0.2.0',
|
||||
},
|
||||
}
|
||||
|
||||
return aliases[name]
|
||||
end
|
||||
|
||||
local mt = {}
|
||||
function mt:__index(k)
|
||||
if configs[k] == nil then
|
||||
local alias = server_alias(k)
|
||||
if alias then
|
||||
vim.deprecate(k, alias.to, alias.version, 'lspconfig', false)
|
||||
k = alias.to
|
||||
end
|
||||
|
||||
local success, config = pcall(require, 'lspconfig.server_configurations.' .. k)
|
||||
if success then
|
||||
configs[k] = config
|
||||
else
|
||||
vim.notify(
|
||||
string.format(
|
||||
'[lspconfig] Cannot access configuration for %s. Ensure this server is listed in '
|
||||
.. '`server_configurations.md` or added as a custom server.',
|
||||
k
|
||||
),
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
-- Return a dummy function for compatibility with user configs
|
||||
return { setup = function() end }
|
||||
end
|
||||
end
|
||||
return configs[k]
|
||||
end
|
||||
|
||||
return setmetatable(M, mt)
|
||||
Reference in New Issue
Block a user