diff options
| author | William Boman <william@redwill.se> | 2022-05-19 14:03:57 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-19 14:03:57 +0200 |
| commit | 84c07269f66c6d3ba13cab3b8d8d1e58a91f2589 (patch) | |
| tree | 29f4d72931d0abf7acf1456dd46dcad35a87070b /lua | |
| parent | fix(erlangls): follow git tags (#708) (diff) | |
| download | mason-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.lua | 2 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/core/functional/list.lua | 10 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/core/functional/logic.lua | 7 |
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] |
