diff --git a/lua/nvim-tree/actions/tree/modifiers/collapse-all.lua b/lua/nvim-tree/actions/tree/modifiers/collapse-all.lua index 760e1f7c..049be2bb 100644 --- a/lua/nvim-tree/actions/tree/modifiers/collapse-all.lua +++ b/lua/nvim-tree/actions/tree/modifiers/collapse-all.lua @@ -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() diff --git a/lua/nvim-tree/actions/tree/modifiers/expand-all.lua b/lua/nvim-tree/actions/tree/modifiers/expand-all.lua index 43ed5baf..6032c686 100644 --- a/lua/nvim-tree/actions/tree/modifiers/expand-all.lua +++ b/lua/nvim-tree/actions/tree/modifiers/expand-all.lua @@ -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() diff --git a/lua/nvim-tree/explorer/live-filter.lua b/lua/nvim-tree/explorer/live-filter.lua index c98f11dd..9861195c 100644 --- a/lua/nvim-tree/explorer/live-filter.lua +++ b/lua/nvim-tree/explorer/live-filter.lua @@ -37,18 +37,18 @@ 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, }) - - Iterator.builder(dir_.nodes) - :hidden() - :applier(function(node) - node.hidden = false - local dir = node:as(DirectoryNode) - if dir then - dir.hidden_stats = vim.tbl_deep_extend("force", dir.hidden_stats or {}, { live_filter = 0, }) - end - end) - :iterate() end + + Iterator.builder(node_.nodes) + :hidden() + :applier(function(node) + node.hidden = false + local dir = node:as(DirectoryNode) + if dir then + dir.hidden_stats = vim.tbl_deep_extend("force", dir.hidden_stats or {}, { live_filter = 0, }) + end + end) + :iterate() end local overlay_bufnr = 0 diff --git a/lua/nvim-tree/git/init.lua b/lua/nvim-tree/git/init.lua index e0333e45..8005a206 100644 --- a/lua/nvim-tree/git/init.lua +++ b/lua/nvim-tree/git/init.lua @@ -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