Skip to content

Commit dec0568

Browse files
committed
simplify live-filter
1 parent 01f66ab commit dec0568

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

lua/nvim-tree/explorer/live-filter.lua

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
local view = require("nvim-tree.view")
22
local utils = require("nvim-tree.utils")
3+
34
local Iterator = require("nvim-tree.iterators.node-iterator")
5+
local DirectoryNode = require("nvim-tree.node.directory")
46

57
---@class LiveFilter
68
---@field explorer Explorer
@@ -31,17 +33,19 @@ local function reset_filter(self, node_)
3133
return
3234
end
3335

34-
node_.hidden_stats = vim.tbl_deep_extend("force", node_.hidden_stats or {}, {
35-
live_filter = 0,
36-
})
36+
local dir_ = node_:as(DirectoryNode)
37+
if dir_ then
38+
dir_.hidden_stats = vim.tbl_deep_extend("force", dir_.hidden_stats or {}, { live_filter = 0, })
39+
end
3740

3841
Iterator.builder(node_.nodes)
3942
:hidden()
4043
:applier(function(node)
4144
node.hidden = false
42-
node.hidden_stats = vim.tbl_deep_extend("force", node.hidden_stats or {}, {
43-
live_filter = 0,
44-
})
45+
local dir = node:as(DirectoryNode)
46+
if dir then
47+
dir.hidden_stats = vim.tbl_deep_extend("force", dir.hidden_stats or {}, { live_filter = 0, })
48+
end
4549
end)
4650
:iterate()
4751
end
@@ -85,7 +89,7 @@ local function matches(self, node)
8589
return vim.regex(self.filter):match_str(name) ~= nil
8690
end
8791

88-
---@param node_ Node?
92+
---@param node_ DirectoryNode?
8993
function LiveFilter:apply_filter(node_)
9094
if not self.filter or self.filter == "" then
9195
reset_filter(self, node_)

0 commit comments

Comments
 (0)