fix(#1731): watcher refreshes node rather than the first node matching absolute path, profile refresh

This commit is contained in:
Alexander Courtis
2022-11-19 17:07:05 +11:00
parent e38e061710
commit 1c57a8284d
5 changed files with 57 additions and 23 deletions

View File

@@ -5,6 +5,7 @@ local filters = require "nvim-tree.explorer.filters"
local sorters = require "nvim-tree.explorer.sorters"
local live_filter = require "nvim-tree.live-filter"
local notify = require "nvim-tree.notify"
local log = require "nvim-tree.log"
local M = {}
@@ -25,6 +26,8 @@ function M.reload(node, status)
return
end
local ps = log.profile_start("reload %s", cwd)
if node.group_next then
node.nodes = { node.group_next }
node.group_next = nil
@@ -110,11 +113,13 @@ function M.reload(node, status)
node.group_next = child_folder_only
local ns = M.reload(child_folder_only, status)
node.nodes = ns or {}
log.profile_end(ps, "reload %s", cwd)
return ns
end
sorters.merge_sort(node.nodes, sorters.node_comparator)
live_filter.apply_filter(node)
log.profile_end(ps, "reload %s", cwd)
return node.nodes
end