aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/fs.lua7
1 files changed, 7 insertions, 0 deletions
diff --git a/lua/mason-core/fs.lua b/lua/mason-core/fs.lua
index 203c96d7..7c4ee5d0 100644
--- a/lua/mason-core/fs.lua
+++ b/lua/mason-core/fs.lua
@@ -134,6 +134,13 @@ local function make_module(uv)
log.trace("fs: fs_readdir", path, entries)
if entries and #entries > 0 then
for i = 1, #entries do
+ if entries[i].name and not entries[i].type then
+ -- See https://github.com/luvit/luv/issues/660
+ local full_path = Path.concat { path, entries[i].name }
+ log.trace("fs: fs_readdir falling back to fs_stat to find type", full_path)
+ local stat = uv.fs_stat(full_path)
+ entries[i].type = stat.type
+ end
all_entries[#all_entries + 1] = entries[i]
end
else