1- -- TODO #2826 wrap all the view methods in explorer
2-
31local core = require (" nvim-tree.core" )
4- local view = require (" nvim-tree.view" )
52local utils = require (" nvim-tree.utils" )
63local actions = require (" nvim-tree.actions" )
74local appearance_hi_test = require (" nvim-tree.appearance.hi-test" )
@@ -143,9 +140,9 @@ Api.tree.focus = Api.tree.open
143140--- @field focus boolean | nil default true
144141
145142Api .tree .toggle = wrap (actions .tree .toggle .fn )
146- Api .tree .close = wrap ( view . close )
147- Api .tree .close_in_this_tab = wrap ( view . close_this_tab_only )
148- Api .tree .close_in_all_tabs = wrap ( view . close_all_tabs )
143+ Api .tree .close = wrap_explorer_member ( " view" , " close" )
144+ Api .tree .close_in_this_tab = wrap_explorer_member ( " view" , " close_this_tab_only" )
145+ Api .tree .close_in_all_tabs = wrap_explorer_member ( " view" , " close_all_tabs" )
149146Api .tree .reload = wrap_explorer (" reload_explorer" )
150147
151148--- @class ApiTreeResizeOpts
@@ -200,12 +197,12 @@ Api.tree.is_tree_buf = wrap(utils.is_nvim_tree_buf)
200197--- @field tabpage number | nil
201198--- @field any_tabpage boolean | nil default false
202199
203- Api .tree .is_visible = wrap ( view . is_visible )
200+ Api .tree .is_visible = wrap_explorer_member ( " view" , " is_visible" )
204201
205202--- @class ApiTreeWinIdOpts
206203--- @field tabpage number | nil default nil
207204
208- Api .tree .winid = wrap ( view . winid )
205+ Api .tree .winid = wrap_explorer_member ( " view" , " winid" )
209206
210207Api .fs .create = wrap_node_or_nil (actions .fs .create_file .fn )
211208Api .fs .remove = wrap_node (actions .fs .remove_file .fn )
@@ -237,13 +234,17 @@ local function edit(mode, node, edit_opts)
237234 local path = file_link and file_link .link_to or node .absolute_path
238235 local cur_tabpage = vim .api .nvim_get_current_tabpage ()
239236
237+ local explorer = core .get_explorer ()
238+
240239 actions .node .open_file .fn (mode , path )
241240
242241 edit_opts = edit_opts or {}
243242
244243 local mode_unsupported_quit_on_open = mode == " drop" or mode == " tab_drop" or mode == " edit_in_place"
245244 if not mode_unsupported_quit_on_open and edit_opts .quit_on_open then
246- view .View :close (cur_tabpage )
245+ if explorer then
246+ explorer .view :close (cur_tabpage )
247+ end
247248 end
248249
249250 local mode_unsupported_focus = mode == " drop" or mode == " tab_drop" or mode == " edit_in_place"
@@ -253,7 +254,9 @@ local function edit(mode, node, edit_opts)
253254 if mode == " tabnew" then
254255 vim .cmd (" :tabprev" )
255256 end
256- view .View :focus ()
257+ if explorer then
258+ explorer .view :focus ()
259+ end
257260 end
258261end
259262
0 commit comments