@@ -42,6 +42,7 @@ local Api = {
42
42
commands = {},
43
43
diagnostics = {},
44
44
decorator = {},
45
+ filters = {},
45
46
}
46
47
47
48
--- Print error when setup not called.
@@ -92,7 +93,7 @@ local function wrap_node_or_nil(fn)
92
93
end
93
94
end
94
95
95
- --- Invoke a member' s method on the singleton explorer.
96
+ --- Invoke a member" s method on the singleton explorer.
96
97
--- Print error when setup not called.
97
98
--- @param explorer_member string explorer member name
98
99
--- @param member_method string method name to invoke on member
@@ -108,7 +109,18 @@ local function wrap_explorer_member_args(explorer_member, member_method, ...)
108
109
end )
109
110
end
110
111
111
- --- Invoke a member's method on the singleton explorer.
112
+ --- @param filter_api_method string
113
+ --- @return fun ( path : string ): boolean
114
+ local function wrap_explorer_filter_function (filter_api_method )
115
+ return wrap (function (path )
116
+ local explorer = core .get_explorer ()
117
+ if explorer then
118
+ return explorer .filters .api [filter_api_method ](explorer .filters , path )
119
+ end
120
+ end )
121
+ end
122
+
123
+ --- Invoke a member"s method on the singleton explorer.
112
124
--- Print error when setup not called.
113
125
--- @param explorer_member string explorer member name
114
126
--- @param member_method string method name to invoke on member
@@ -356,4 +368,12 @@ end)
356
368
--- @type nvim_tree.api.decorator.UserDecorator
357
369
Api .decorator .UserDecorator = UserDecorator --[[ @as nvim_tree.api.decorator.UserDecorator]]
358
370
371
+ Api .filters .custom = wrap_explorer_filter_function (" custom" )
372
+ Api .filters .dotfile = wrap_explorer_filter_function (" dotfile" )
373
+ Api .filters .git_ignored = wrap_explorer_filter_function (" git_ignored" )
374
+ Api .filters .git_clean = wrap_explorer_filter_function (" git_clean" )
375
+ Api .filters .no_buffer = wrap_explorer_filter_function (" no_buffer" )
376
+ Api .filters .no_bookmark = wrap_explorer_filter_function (" no_bookmark" )
377
+ Api .filters .filter_reason = wrap_explorer_filter_function (" filter_reason" )
378
+
359
379
return Api
0 commit comments