revert(#2794): sshfs compatibility (#2920)

* refactor(#2875): multi instance renderer: remove unused code

* Revert "fix(#2794): sshfs compatibility (#2893)"

This reverts commit 2d6e64dd8c.
This commit is contained in:
Alexander Courtis
2024-09-22 15:23:42 +10:00
committed by GitHub
parent 0ae9ad4ded
commit 8405ecfbd6
2 changed files with 7 additions and 15 deletions

View File

@@ -57,18 +57,13 @@ local function remove_dir(cwd)
end end
while true do while true do
local name, _ = vim.loop.fs_scandir_next(handle) local name, t = vim.loop.fs_scandir_next(handle)
if not name then if not name then
break break
end end
local new_cwd = utils.path_join { cwd, name } 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) local success = remove_dir(new_cwd)
if not success then if not success then
return false return false

View File

@@ -125,7 +125,7 @@ function Explorer:reload(node, git_status)
}) })
while true do while true do
local name, _ = vim.loop.fs_scandir_next(handle) local name, t = vim.loop.fs_scandir_next(handle)
if not name then if not name then
break break
end end
@@ -138,14 +138,11 @@ function Explorer:reload(node, git_status)
if filter_reason == FILTER_REASON.none then if filter_reason == FILTER_REASON.none then
remain_childs[abs] = true remain_childs[abs] = true
-- Type must come from fs_stat and not fs_scandir_next to maintain sshfs compatibility
local type = stat and stat.type or nil
-- Recreate node if type changes. -- Recreate node if type changes.
if nodes_by_path[abs] then if nodes_by_path[abs] then
local n = nodes_by_path[abs] local n = nodes_by_path[abs]
if n.type ~= type then if n.type ~= t then
utils.array_remove(node.nodes, n) utils.array_remove(node.nodes, n)
explorer_node.node_destroy(n) explorer_node.node_destroy(n)
nodes_by_path[abs] = nil nodes_by_path[abs] = nil
@@ -154,11 +151,11 @@ function Explorer:reload(node, git_status)
if not nodes_by_path[abs] then if not nodes_by_path[abs] then
local new_child = nil local new_child = nil
if type == "directory" and vim.loop.fs_access(abs, "R") and Watcher.is_fs_event_capable(abs) then if t == "directory" and vim.loop.fs_access(abs, "R") and Watcher.is_fs_event_capable(abs) then
new_child = builders.folder(node, abs, name, stat) new_child = builders.folder(node, abs, name, stat)
elseif type == "file" then elseif t == "file" then
new_child = builders.file(node, abs, name, stat) new_child = builders.file(node, abs, name, stat)
elseif type == "link" then elseif t == "link" then
local link = builders.link(node, abs, name, stat) local link = builders.link(node, abs, name, stat)
if link.link_to ~= nil then if link.link_to ~= nil then
new_child = link new_child = link