aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/core
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-05-29 01:12:12 +0200
committerGitHub <noreply@github.com>2022-05-29 01:12:12 +0200
commit14060bf92d5a848930f4968d455922f5bafea813 (patch)
treefc0b1b0b2bc10fc289e62a20afb7f47c29b67d27 /lua/nvim-lsp-installer/core
parentfeat(ltex): use platform independent dist if java is installed (#730) (diff)
downloadmason-14060bf92d5a848930f4968d455922f5bafea813.tar
mason-14060bf92d5a848930f4968d455922f5bafea813.tar.gz
mason-14060bf92d5a848930f4968d455922f5bafea813.tar.bz2
mason-14060bf92d5a848930f4968d455922f5bafea813.tar.lz
mason-14060bf92d5a848930f4968d455922f5bafea813.tar.xz
mason-14060bf92d5a848930f4968d455922f5bafea813.tar.zst
mason-14060bf92d5a848930f4968d455922f5bafea813.zip
refactor(health): spawn processes via the spawn module (#732)
Diffstat (limited to 'lua/nvim-lsp-installer/core')
-rw-r--r--lua/nvim-lsp-installer/core/functional/init.lua2
-rw-r--r--lua/nvim-lsp-installer/core/functional/list.lua15
2 files changed, 17 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/core/functional/init.lua b/lua/nvim-lsp-installer/core/functional/init.lua
index 8fb97450..6987e1a7 100644
--- a/lua/nvim-lsp-installer/core/functional/init.lua
+++ b/lua/nvim-lsp-installer/core/functional/init.lua
@@ -30,6 +30,8 @@ _.map = list.map
_.each = list.each
_.concat = list.concat
_.zip_table = list.zip_table
+_.nth = list.nth
+_.head = list.head
-- relation
local relation = require "nvim-lsp-installer.core.functional.relation"
diff --git a/lua/nvim-lsp-installer/core/functional/list.lua b/lua/nvim-lsp-installer/core/functional/list.lua
index 1fcfe8c3..c12330dd 100644
--- a/lua/nvim-lsp-installer/core/functional/list.lua
+++ b/lua/nvim-lsp-installer/core/functional/list.lua
@@ -100,4 +100,19 @@ _.zip_table = fun.curryN(function(keys, values)
return res
end, 2)
+---@generic T
+---@param offset number
+---@param value T[]|string
+---@return T|string|nil
+_.nth = fun.curryN(function(offset, value)
+ local index = offset < 0 and (#value + (offset + 1)) or offset
+ if type(value) == "string" then
+ return string.sub(value, index, index)
+ else
+ return value[index]
+ end
+end, 2)
+
+_.head = _.nth(1)
+
return _