diff options
Diffstat (limited to 'lua/nvim-lsp-installer/data.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/data.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/data.lua b/lua/nvim-lsp-installer/data.lua index 901c293a..b5689142 100644 --- a/lua/nvim-lsp-installer/data.lua +++ b/lua/nvim-lsp-installer/data.lua @@ -33,6 +33,21 @@ function Data.list_map(fn, list) return result end +function Data.table_pack(...) + return { n = select("#", ...), ... } +end + +function Data.list_not_nil(...) + local result = {} + local args = Data.table_pack(...) + for i = 1, args.n do + if args[i] ~= nil then + result[#result + 1] = args[i] + end + end + return result +end + function Data.tbl_pack(...) return { n = select("#", ...), ... } end @@ -41,6 +56,10 @@ function Data.when(condition, value) return condition and value or nil end +function Data.lazy(condition, fn) + return condition and fn() or nil +end + function Data.coalesce(...) local args = Data.tbl_pack(...) for i = 1, args.n do |
