aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/ui
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-21 12:09:59 +0200
committerGitHub <noreply@github.com>2022-04-21 12:09:59 +0200
commitb68fcc6bb2c770495ff8e2508c06dfdd49abcc80 (patch)
treedf7c71efb59958deb21a18eeccf3e3c43c4cd704 /lua/nvim-lsp-installer/ui
parentrun autogen_metadata.lua (diff)
downloadmason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.gz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.bz2
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.lz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.xz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.zst
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.zip
chore: refactor remaining installers to async impl (#616)
Diffstat (limited to 'lua/nvim-lsp-installer/ui')
-rw-r--r--lua/nvim-lsp-installer/ui/init.lua5
-rw-r--r--lua/nvim-lsp-installer/ui/status-win/init.lua10
2 files changed, 8 insertions, 7 deletions
diff --git a/lua/nvim-lsp-installer/ui/init.lua b/lua/nvim-lsp-installer/ui/init.lua
index 4e522ce9..667bb35a 100644
--- a/lua/nvim-lsp-installer/ui/init.lua
+++ b/lua/nvim-lsp-installer/ui/init.lua
@@ -69,7 +69,8 @@ end
---@param condition boolean
---@param node INode | fun(): INode
-function M.When(condition, node)
+---@param default_val any
+function M.When(condition, node, default_val)
if condition then
if type(node) == "function" then
return node()
@@ -77,7 +78,7 @@ function M.When(condition, node)
return node
end
end
- return M.Node {}
+ return default_val or M.Node {}
end
---@param key string @The keymap to register to. Example: "<CR>".
diff --git a/lua/nvim-lsp-installer/ui/status-win/init.lua b/lua/nvim-lsp-installer/ui/status-win/init.lua
index 61969828..3236b3e9 100644
--- a/lua/nvim-lsp-installer/ui/status-win/init.lua
+++ b/lua/nvim-lsp-installer/ui/status-win/init.lua
@@ -201,10 +201,10 @@ end
---@param server ServerState
local function ServerMetadata(server)
return Ui.Node(Data.list_not_nil(
- Data.lazy(server.is_installed and server.deprecated, function()
+ Data.lazy_when(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()
+ Data.lazy_when(server.deprecated.replace_with, function()
return Ui.Node {
Ui.HlTextNode {
{
@@ -219,7 +219,7 @@ local function ServerMetadata(server)
))
end),
Ui.Table(Data.list_not_nil(
- Data.lazy(server.is_installed, function()
+ Data.lazy_when(server.is_installed, function()
return {
{ "version", "LspInstallerMuted" },
server.installed_version_err and {
@@ -228,7 +228,7 @@ local function ServerMetadata(server)
} or { server.installed_version or "Loading...", "" },
}
end),
- Data.lazy(#server.metadata.outdated_packages > 0, function()
+ Data.lazy_when(#server.metadata.outdated_packages > 0, function()
return {
{ "latest version", "LspInstallerGreen" },
{
@@ -237,7 +237,7 @@ local function ServerMetadata(server)
},
}
end),
- Data.lazy(server.metadata.install_timestamp_seconds, function()
+ Data.lazy_when(server.metadata.install_timestamp_seconds, function()
return {
{ "installed", "LspInstallerMuted" },
{ format_time(server.metadata.install_timestamp_seconds), "" },