diff options
| author | William Boman <william@redwill.se> | 2022-05-12 18:02:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-12 18:02:47 +0200 |
| commit | f637ef2e6dbfb03cc896143d73749f541ca18e3e (patch) | |
| tree | 2c15a25a2661d5eb424eace9267642977c58d2e9 /lua/nvim-lsp-installer | |
| parent | run autogen_metadata.lua (diff) | |
| download | mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar.gz mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar.bz2 mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar.lz mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar.xz mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.tar.zst mason-f637ef2e6dbfb03cc896143d73749f541ca18e3e.zip | |
feat: patch :LspInfo's "cmd is executable" diagnostic message (#691)
Diffstat (limited to 'lua/nvim-lsp-installer')
| -rw-r--r-- | lua/nvim-lsp-installer/core/functional.lua | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/core/functional.lua b/lua/nvim-lsp-installer/core/functional.lua index 244c3d96..8b549fb6 100644 --- a/lua/nvim-lsp-installer/core/functional.lua +++ b/lua/nvim-lsp-installer/core/functional.lua @@ -172,4 +172,29 @@ function functional.partial(fn, ...) end end +function functional.compose(...) + local functions = functional.table_pack(...) + assert(functions.n > 0, "compose requires at least one function") + return function(...) + local result = functional.table_pack(...) + for i = functions.n, 1, -1 do + result = functional.table_pack(functions[i](unpack(result, 1, result.n))) + end + return unpack(result, 1, result.n) + end +end + +---@generic T +---@param filter_fn fun(item: T): boolean +---@return fun(list: T[]): T[] +function functional.filter(filter_fn) + return functional.partial(vim.tbl_filter, filter_fn) +end + +function functional.each(fn, list) + for k, v in pairs(list) do + fn(v, k) + end +end + return functional |
