aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/data.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2021-09-10 13:38:39 +0200
committerGitHub <noreply@github.com>2021-09-10 13:38:39 +0200
commitd2ec0c0070c01ba0e3e8926031cfe848a016df44 (patch)
treebf57f20725e11125ed51caac547c483d4e642831 /lua/nvim-lsp-installer/data.lua
parentCUSTOM_SERVERS.md: update docs (diff)
downloadmason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.gz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.bz2
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.lz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.xz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.zst
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.zip
rewrite some installers for broader cross-platform support (#85)
- Remove all usage of zx in favour of native Lua (via libuv) - Introduce new set of `std` installers The following servers will have to be reinstalled due to this change: 1. clangd 2. solargraph 3. sumneko_lua 4. tailwindcss
Diffstat (limited to 'lua/nvim-lsp-installer/data.lua')
-rw-r--r--lua/nvim-lsp-installer/data.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/data.lua b/lua/nvim-lsp-installer/data.lua
index 3d6bf196..53bca81e 100644
--- a/lua/nvim-lsp-installer/data.lua
+++ b/lua/nvim-lsp-installer/data.lua
@@ -33,4 +33,22 @@ function Data.list_map(fn, list)
return result
end
+function Data.tbl_pack(...)
+ return { n = select("#", ...), ... }
+end
+
+function Data.when(condition, value)
+ return condition and value or nil
+end
+
+function Data.coalesce(...)
+ local args = Data.tbl_pack(...)
+ for i = 1, args.n do
+ local variable = args[i]
+ if variable ~= nil then
+ return variable
+ end
+ end
+end
+
return Data