aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig.lua67
-rw-r--r--lua/lspconfig/ui/lspinfo.lua8
2 files changed, 47 insertions, 28 deletions
diff --git a/lua/lspconfig.lua b/lua/lspconfig.lua
index b9012f87..f5129bc6 100644
--- a/lua/lspconfig.lua
+++ b/lua/lspconfig.lua
@@ -4,44 +4,57 @@ local M = {
util = require 'lspconfig.util',
}
+--- Deprecated config names.
+---
---@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',
- },
- tsserver = {
- to = 'ts_ls',
- version = '0.2.0',
- },
- }
+---@field inconfig? boolean need shown in lspinfo
+local aliases = {
+ ['fennel-ls'] = {
+ to = 'fennel_ls',
+ version = '0.2.1',
+ },
+ ruby_ls = {
+ to = 'ruby_lsp',
+ version = '0.2.1',
+ },
+ ['starlark-rust'] = {
+ to = 'starlark_rust',
+ version = '0.2.1',
+ },
+ sumneko_lua = {
+ to = 'lua_ls',
+ version = '0.2.1',
+ },
+ tsserver = {
+ to = 'ts_ls',
+ version = '0.2.1',
+ },
+}
- return aliases[name]
+---@return Alias
+---@param name string|nil get this alias, or nil to get all aliases that were used in the current session.
+M.server_aliases = function(name)
+ if name then
+ return aliases[name]
+ end
+ local used_aliases = {}
+ for sname, alias in pairs(aliases) do
+ if alias.inconfig then
+ used_aliases[sname] = alias
+ end
+ end
+ return used_aliases
end
local mt = {}
function mt:__index(k)
if configs[k] == nil then
- local alias = server_alias(k)
+ local alias = M.server_aliases(k)
if alias then
vim.deprecate(k, alias.to, alias.version, 'lspconfig', false)
+ alias.inconfig = true
k = alias.to
end
diff --git a/lua/lspconfig/ui/lspinfo.lua b/lua/lspconfig/ui/lspinfo.lua
index 886014aa..e0b9bf96 100644
--- a/lua/lspconfig/ui/lspinfo.lua
+++ b/lua/lspconfig/ui/lspinfo.lua
@@ -268,8 +268,14 @@ return function()
'',
'Configured servers list: ' .. table.concat(util.available_servers(), ', '),
}
-
+ local deprecated_servers = {}
vim.list_extend(buf_lines, matching_config_header)
+ for server_name, deprecate in pairs(require('lspconfig').server_aliases()) do
+ table.insert(deprecated_servers, ('%s -> %s'):format(server_name, deprecate.to))
+ end
+ if #deprecated_servers > 0 then
+ vim.list_extend(buf_lines, { '', 'Deprecated servers: ' .. table.concat(deprecated_servers, ' ') })
+ end
local fmt_buf_lines = indent_lines(buf_lines, ' ')