@@ -89,6 +89,22 @@ local function wrap_node_or_nil(fn)
89
89
end
90
90
end
91
91
92
+ --- Invoke a member's method on the singleton explorer.
93
+ --- Print error when setup not called.
94
+ --- @param explorer_member string explorer member name
95
+ --- @param member_method string method name to invoke on member
96
+ --- @param ... any passed to method
97
+ --- @return fun ( ... ): any
98
+ local function wrap_explorer_member_args (explorer_member , member_method , ...)
99
+ local method_args = ...
100
+ return wrap (function (...)
101
+ local explorer = core .get_explorer ()
102
+ if explorer then
103
+ return explorer [explorer_member ][member_method ](explorer [explorer_member ], method_args , ... )
104
+ end
105
+ end )
106
+ end
107
+
92
108
--- Invoke a member's method on the singleton explorer.
93
109
--- Print error when setup not called.
94
110
--- @param explorer_member string explorer member name
@@ -165,13 +181,13 @@ Api.tree.find_file = wrap(actions.tree.find_file.fn)
165
181
Api .tree .search_node = wrap (actions .finders .search_node .fn )
166
182
Api .tree .collapse_all = wrap (actions .tree .modifiers .collapse_all .fn )
167
183
Api .tree .expand_all = wrap_node (actions .tree .modifiers .expand_all .fn )
168
- Api .tree .toggle_enable_filters = wrap ( actions . tree . modifiers . toggles . enable )
169
- Api .tree .toggle_gitignore_filter = wrap ( actions . tree . modifiers . toggles . git_ignored )
170
- Api .tree .toggle_git_clean_filter = wrap ( actions . tree . modifiers . toggles . git_clean )
171
- Api .tree .toggle_no_buffer_filter = wrap ( actions . tree . modifiers . toggles . no_buffer )
172
- Api .tree .toggle_custom_filter = wrap ( actions . tree . modifiers . toggles . custom )
173
- Api .tree .toggle_hidden_filter = wrap ( actions . tree . modifiers . toggles . dotfiles )
174
- Api .tree .toggle_no_bookmark_filter = wrap ( actions . tree . modifiers . toggles . no_bookmark )
184
+ Api .tree .toggle_enable_filters = wrap_explorer_member ( " filters " , " toggle " )
185
+ Api .tree .toggle_gitignore_filter = wrap_explorer_member_args ( " filters " , " toggle " , " git_ignored" )
186
+ Api .tree .toggle_git_clean_filter = wrap_explorer_member_args ( " filters " , " toggle " , " git_clean" )
187
+ Api .tree .toggle_no_buffer_filter = wrap_explorer_member_args ( " filters " , " toggle " , " no_buffer" )
188
+ Api .tree .toggle_custom_filter = wrap_explorer_member_args ( " filters " , " toggle " , " custom" )
189
+ Api .tree .toggle_hidden_filter = wrap_explorer_member_args ( " filters " , " toggle " , " dotfiles" )
190
+ Api .tree .toggle_no_bookmark_filter = wrap_explorer_member_args ( " filters " , " toggle " , " no_bookmark" )
175
191
Api .tree .toggle_help = wrap (help .toggle )
176
192
Api .tree .is_tree_buf = wrap (utils .is_nvim_tree_buf )
177
193
0 commit comments