fix(#2794): sshfs compatibility (#2893)

* add type fallback for nil types

* add PR suggestions

* Update lua/nvim-tree/explorer/explore.lua

Co-authored-by: Alexander Courtis <alex@courtis.org>

* use type from fs_stat for sshfs compatibility

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
Eric 李
2024-09-08 20:31:55 -04:00
committed by GitHub
parent cb57691536
commit 2d6e64dd8c
3 changed files with 23 additions and 11 deletions

View File

@@ -56,13 +56,18 @@ local function remove_dir(cwd)
end
while true do
local name, t = vim.loop.fs_scandir_next(handle)
local name, _ = vim.loop.fs_scandir_next(handle)
if not name then
break
end
local new_cwd = utils.path_join { cwd, name }
if t == "directory" then
-- Type must come from fs_stat and not fs_scandir_next to maintain sshfs compatibility
local stat = vim.loop.fs_stat(new_cwd)
local type = stat and stat.type or nil
if type == "directory" then
local success = remove_dir(new_cwd)
if not success then
return false