aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-05-19 14:03:57 +0200
committerGitHub <noreply@github.com>2022-05-19 14:03:57 +0200
commit84c07269f66c6d3ba13cab3b8d8d1e58a91f2589 (patch)
tree29f4d72931d0abf7acf1456dd46dcad35a87070b /lua
parentfix(erlangls): follow git tags (#708) (diff)
downloadmason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar.gz
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar.bz2
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar.lz
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar.xz
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.tar.zst
mason-84c07269f66c6d3ba13cab3b8d8d1e58a91f2589.zip
feat(lspinfo): check that .setup() has been called to consider cmd executable (#710)
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-lsp-installer/core/functional/init.lua2
-rw-r--r--lua/nvim-lsp-installer/core/functional/list.lua10
-rw-r--r--lua/nvim-lsp-installer/core/functional/logic.lua7
3 files changed, 19 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/core/functional/init.lua b/lua/nvim-lsp-installer/core/functional/init.lua
index 45a09ea6..9337ccef 100644
--- a/lua/nvim-lsp-installer/core/functional/init.lua
+++ b/lua/nvim-lsp-installer/core/functional/init.lua
@@ -28,6 +28,7 @@ _.any = list.any
_.filter = list.filter
_.map = list.map
_.each = list.each
+_.concat = list.concat
-- relation
local relation = require "nvim-lsp-installer.core.functional.relation"
@@ -40,6 +41,7 @@ local logic = require "nvim-lsp-installer.core.functional.logic"
_.all_pass = logic.all_pass
_.if_else = logic.if_else
_.is_not = logic.is_not
+_.complement = logic.complement
_.cond = logic.cond
-- number
diff --git a/lua/nvim-lsp-installer/core/functional/list.lua b/lua/nvim-lsp-installer/core/functional/list.lua
index 666de4d3..11742f1c 100644
--- a/lua/nvim-lsp-installer/core/functional/list.lua
+++ b/lua/nvim-lsp-installer/core/functional/list.lua
@@ -77,4 +77,14 @@ end, 2)
---@return T[] @A shallow copy of the list.
_.list_copy = _.map(fun.identity)
+_.concat = fun.curryN(function(a, b)
+ if type(a) == "table" then
+ assert(type(b) == "table", "concat: expected table")
+ return vim.list_extend(_.list_copy(a), b)
+ elseif type(a) == "string" then
+ assert(type(b) == "string", "concat: expected string")
+ return a .. b
+ end
+end, 2)
+
return _
diff --git a/lua/nvim-lsp-installer/core/functional/logic.lua b/lua/nvim-lsp-installer/core/functional/logic.lua
index 262f04a8..70b349dd 100644
--- a/lua/nvim-lsp-installer/core/functional/logic.lua
+++ b/lua/nvim-lsp-installer/core/functional/logic.lua
@@ -32,6 +32,13 @@ _.is_not = function(value)
return not value
end
+---@generic T
+---@param predicate fun(value: T): boolean
+---@param value T
+_.complement = fun.curryN(function(predicate, value)
+ return not predicate(value)
+end, 2)
+
_.cond = fun.curryN(function(predicate_transformer_pairs, value)
for _, pair in ipairs(predicate_transformer_pairs) do
local predicate, transformer = pair[1], pair[2]