From 522d56557b00246286d803425751a4334f3a94a5 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Mon, 15 Jul 2024 20:05:47 +0100 Subject: Update lspconfig, add indent-blankline indent-blankline is probably old because I've actually been using it for ages, but I have a strict if-it-ain't-broke policy, so I'm not going to update it. lspconfig *was* broke though with nvim 0.10, so now it's fixed. --- start/lspconfig-0.1.8/lua/lspconfig.lua | 63 +++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 start/lspconfig-0.1.8/lua/lspconfig.lua (limited to 'start/lspconfig-0.1.8/lua/lspconfig.lua') diff --git a/start/lspconfig-0.1.8/lua/lspconfig.lua b/start/lspconfig-0.1.8/lua/lspconfig.lua new file mode 100644 index 0000000..0823ec8 --- /dev/null +++ b/start/lspconfig-0.1.8/lua/lspconfig.lua @@ -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) -- cgit v1.2.3