diff options
Diffstat (limited to 'lua/nvim-lsp-installer/fs.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/fs.lua | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lua/nvim-lsp-installer/fs.lua b/lua/nvim-lsp-installer/fs.lua index b96d0bbf..9afdbe51 100644 --- a/lua/nvim-lsp-installer/fs.lua +++ b/lua/nvim-lsp-installer/fs.lua @@ -1,4 +1,4 @@ -local pathm = require("nvim-lsp-installer.path") +local pathm = require "nvim-lsp-installer.path" local uv = vim.loop local M = {} @@ -46,4 +46,25 @@ function M.fstat(path) return fstat end +function M.readdir(path) + local dir = assert(uv.fs_opendir(path, nil, 25)) + local all_entries = {} + local exhausted = false + + repeat + local entries = uv.fs_readdir(dir) + if entries and #entries > 0 then + for i = 1, #entries do + all_entries[#all_entries + 1] = entries[i] + end + else + exhausted = true + end + until exhausted + + assert(uv.fs_closedir(dir)) + + return all_entries +end + return M |
