From 00294b84031711013a385f18c0fb0e8db84ebaf9 Mon Sep 17 00:00:00 2001 From: William Boman Date: Tue, 7 Sep 2021 02:44:09 +0200 Subject: add direct integration with libuv instead of going through termopen, also implement a UI (#79) * add direct integration with libuv instead of going through termopen, also implement a UI * alleged free perf boosts yo that's free cycles --- lua/nvim-lsp-installer/data.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lua/nvim-lsp-installer/data.lua (limited to 'lua/nvim-lsp-installer/data.lua') diff --git a/lua/nvim-lsp-installer/data.lua b/lua/nvim-lsp-installer/data.lua new file mode 100644 index 00000000..3d6bf196 --- /dev/null +++ b/lua/nvim-lsp-installer/data.lua @@ -0,0 +1,36 @@ +local Data = {} + +function Data.enum(values) + local result = {} + for i = 1, #values do + local v = values[i] + result[v] = v + end + return result +end + +function Data.set_of(list) + local set = {} + for i = 1, #list do + set[list[i]] = true + end + return set +end + +function Data.list_reverse(list) + local result = {} + for i = #list, 1, -1 do + result[#result + 1] = list[i] + end + return result +end + +function Data.list_map(fn, list) + local result = {} + for i = 1, #list do + result[#result + 1] = fn(list[i], i) + end + return result +end + +return Data -- cgit v1.2.3-70-g09d2