chore: resolve undefined-field

This commit is contained in:
Alexander Courtis
2024-10-26 15:48:57 +11:00
parent 009b2c996e
commit 622a8d1e3d
4 changed files with 18 additions and 22 deletions

View File

@@ -46,8 +46,7 @@ function M.fn(keep_buffers)
end
end)
:recursor(function(n)
n = n and n:as(DirectoryNode)
return n and (n.group_next and { n.group_next } or n.nodes)
return n.group_next and { n.group_next } or n.nodes
end)
:iterate()

View File

@@ -60,8 +60,7 @@ local function gen_iterator()
end
end)
:recursor(function(node)
node = node and node:as(DirectoryNode)
return expansion_count < M.MAX_FOLDER_DISCOVERY and node and (node.group_next and { node.group_next } or (node.open and node.nodes))
return expansion_count < M.MAX_FOLDER_DISCOVERY and (node.group_next and { node.group_next } or (node.open and node.nodes))
end)
:iterate()

View File

@@ -37,8 +37,9 @@ local function reset_filter(self, node_)
local dir_ = node_:as(DirectoryNode)
if dir_ then
dir_.hidden_stats = vim.tbl_deep_extend("force", dir_.hidden_stats or {}, { live_filter = 0, })
end
Iterator.builder(dir_.nodes)
Iterator.builder(node_.nodes)
:hidden()
:applier(function(node)
node.hidden = false
@@ -48,7 +49,6 @@ local function reset_filter(self, node_)
end
end)
:iterate()
end
end
local overlay_bufnr = 0

View File

@@ -204,28 +204,26 @@ local function reload_tree_at(toplevel)
end
log.line("watcher", "git event executing '%s'", toplevel)
local base = utils.get_node_from_path(toplevel)
base = base and base:as(DirectoryNode)
if not base then
local root_node = utils.get_node_from_path(toplevel)
if not root_node then
return
end
M.reload_project(toplevel, nil, function()
local git_status = M.get_project(toplevel)
Iterator.builder(base.nodes)
Iterator.builder(root_node.nodes)
:hidden()
:applier(function(node)
local parent_ignored = node.parent and node.parent:is_git_ignored() or false
node:update_git_status(parent_ignored, git_status)
end)
:recursor(function(node)
local dir = node:as(DirectoryNode)
return dir and #dir.nodes > 0 and dir.nodes
return node.nodes and #node.nodes > 0 and node.nodes
end)
:iterate()
base.explorer.renderer:draw()
root_node.explorer.renderer:draw()
end)
end