From a87ea0386110eeeaad47b140b9155abd4c235f64 Mon Sep 17 00:00:00 2001 From: William Boman Date: Thu, 14 Oct 2021 22:52:23 +0200 Subject: add eslint, deprecate eslintls (#149) --- lua/nvim-lsp-installer/ui/status-win/init.lua | 60 ++++++++++++++++++++------- 1 file changed, 45 insertions(+), 15 deletions(-) (limited to 'lua/nvim-lsp-installer/ui') diff --git a/lua/nvim-lsp-installer/ui/status-win/init.lua b/lua/nvim-lsp-installer/ui/status-win/init.lua index 56cfbe9d..60454419 100644 --- a/lua/nvim-lsp-installer/ui/status-win/init.lua +++ b/lua/nvim-lsp-installer/ui/status-win/init.lua @@ -138,21 +138,40 @@ local function get_relative_install_time(time) end local function ServerMetadata(server) - return Ui.Table(Data.list_not_nil( - Data.lazy(server.metadata.install_timestamp_seconds, function() - return { - { "last updated", "LspInstallerMuted" }, - { get_relative_install_time(server.metadata.install_timestamp_seconds), "" }, - } + return Ui.Node(Data.list_not_nil( + Data.lazy(server.is_installed and server.deprecated, function() + return Ui.Node(Data.list_not_nil( + Ui.HlTextNode { server.deprecated.message, "Comment" }, + Data.lazy(server.deprecated.replace_with, function() + return Ui.Node { + Ui.HlTextNode { + { + { "Replace with: ", "LspInstallerMuted" }, + { server.deprecated.replace_with, "LspInstallerHighlighted" }, + }, + }, + Ui.Keybind("", "REPLACE_SERVER", { server.name, server.deprecated.replace_with }), + Ui.EmptyLine(), + } + end) + )) end), - Data.when(server.is_installed, { - { "path", "LspInstallerMuted" }, - { server.metadata.install_dir, "" }, - }), - { - { "homepage", "LspInstallerMuted" }, - { server.metadata.homepage or "-", "" }, - } + Ui.Table(Data.list_not_nil( + Data.lazy(server.metadata.install_timestamp_seconds, function() + return { + { "last updated", "LspInstallerMuted" }, + { get_relative_install_time(server.metadata.install_timestamp_seconds), "" }, + } + end), + Data.when(server.is_installed, { + { "path", "LspInstallerMuted" }, + { server.metadata.install_dir, "" }, + }), + { + { "homepage", "LspInstallerMuted" }, + { server.metadata.homepage or "-", "" }, + } + )) )) end @@ -163,7 +182,8 @@ local function InstalledServers(servers, expanded_server) Ui.HlTextNode { Data.list_not_nil( { settings.current.ui.icons.server_installed, "LspInstallerGreen" }, - { " " .. server.name, "" } + { " " .. server.name, "" }, + Data.when(server.deprecated, { " deprecated", "LspInstallerOrange" }) ), }, Ui.Keybind(settings.current.ui.keymaps.toggle_server_expand, "EXPAND_SERVER", { server.name }), @@ -340,6 +360,7 @@ local function create_initial_server_state(server) return { name = server.name, is_installed = server:is_installed(), + deprecated = server.deprecated, metadata = { homepage = server.homepage, install_timestamp_seconds = nil, -- lazy @@ -571,6 +592,15 @@ local function init(all_servers) uninstall_server(server) end end, + ["REPLACE_SERVER"] = function(e) + local old_server_name, new_server_name = e.payload[1], e.payload[2] + local old_ok, old_server = lsp_servers.get_server(old_server_name) + local new_ok, new_server = lsp_servers.get_server(new_server_name) + if old_ok and new_ok then + uninstall_server(old_server) + install_server(new_server) + end + end, }, } end -- cgit v1.2.3-70-g09d2