File tree Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -1608,6 +1608,15 @@ node.open.vertical() *nvim-tree-api.node.open.vertical()*
1608
1608
node.open.horizontal() *nvim-tree-api.node.open.horizontal()*
1609
1609
| nvim-tree-api.node.edit() | , file will be opened in a new horizontal split.
1610
1610
1611
+ node.open.drop() *nvim-tree-api.node.open.drop()*
1612
+ Switch to window with selected file if it exists.
1613
+ Open file otherwise.
1614
+ See: `:h :drop`.
1615
+
1616
+ File: open file using `:drop `
1617
+ Folder: expand or collapse
1618
+ Root: change directory up
1619
+
1611
1620
node.open.tab() *nvim-tree-api.node.open.tab()*
1612
1621
| nvim-tree-api.node.edit() | , file will be opened in a new tab.
1613
1622
Original file line number Diff line number Diff line change @@ -160,6 +160,13 @@ local function open_file_in_tab(filename)
160
160
vim .cmd (" tabe " .. vim .fn .fnameescape (filename ))
161
161
end
162
162
163
+ local function drop (filename )
164
+ if M .quit_on_open then
165
+ view .close ()
166
+ end
167
+ vim .cmd (" drop " .. vim .fn .fnameescape (filename ))
168
+ end
169
+
163
170
local function tab_drop (filename )
164
171
if M .quit_on_open then
165
172
view .close ()
@@ -303,6 +310,10 @@ function M.fn(mode, filename)
303
310
return open_file_in_tab (filename )
304
311
end
305
312
313
+ if mode == " drop" then
314
+ return drop (filename )
315
+ end
316
+
306
317
if mode == " tab_drop" then
307
318
return tab_drop (filename )
308
319
end
Original file line number Diff line number Diff line change @@ -162,6 +162,7 @@ local function open_preview(node)
162
162
end
163
163
164
164
Api .node .open .edit = wrap_node (open_or_expand_or_dir_up " edit" )
165
+ Api .node .open .drop = wrap_node (open_or_expand_or_dir_up " drop" )
165
166
Api .node .open .tab_drop = wrap_node (open_or_expand_or_dir_up " tab_drop" )
166
167
Api .node .open .replace_tree_buffer = wrap_node (open_or_expand_or_dir_up " edit_in_place" )
167
168
Api .node .open .no_window_picker = wrap_node (open_or_expand_or_dir_up " edit_no_picker" )
You can’t perform that action at this time.
0 commit comments