@@ -1679,10 +1679,8 @@ to avoid breaking configurations due to internal breaking changes.
16791679The api is separated in multiple modules, which can be accessed with
16801680`api.<module> .<function> `
16811681
1682- Functions that needs a tree node parameter are exposed with an abstraction
1683- that injects the node from the cursor position in the tree when calling
1684- the function. It will use the node you pass as an argument in priority if it
1685- exists.
1682+ Functions accepting {node} as their first argument will use the node under the
1683+ cursor when that argument is not present or nil.
16861684
16871685==============================================================================
16881686 6.1 API TREE *nvim-tree-api.tree*
@@ -1808,9 +1806,11 @@ tree.collapse_all({keep_buffers}) *nvim-tree-api.tree.collapse_all()*
18081806 Parameters: ~
18091807 • {keep_buffers} (boolean) do not collapse nodes with open buffers.
18101808
1811- tree.expand_all() *nvim-tree-api.tree.expand_all()*
1812- Recursively expand all nodes in the tree.
1813- Folder: only the nodes underneath that folder.
1809+ tree.expand_all({node} ) *nvim-tree-api.tree.expand_all()*
1810+ Recursively expand all nodes under the tree root or specified folder.
1811+
1812+ Parameters: ~
1813+ • {node} (Node|nil) folder
18141814
18151815 *nvim-tree-api.tree.toggle_enable_filters()*
18161816tree.toggle_enable_filters()
@@ -1885,86 +1885,86 @@ fs.create({node}) *nvim-tree-api.fs.create()*
18851885 Multiple directories/files may be created e.g. `foo/bar/ baz`
18861886
18871887 Parameters: ~
1888- • {node} (Node) parent, uses the parent of a file.
1888+ • {node} (Node|nil ) parent, uses the parent of a file.
18891889
18901890fs.remove({node} ) *nvim-tree-api.fs.remove()*
18911891 Delete a file or folder from the file system.
18921892
18931893 Parameters: ~
1894- • {node} (Node) file or folder
1894+ • {node} (Node|nil ) file or folder
18951895
18961896fs.trash({node} ) *nvim-tree-api.fs.trash()*
18971897 Trash a file or folder as per | nvim-tree.trash |
18981898
18991899 Parameters: ~
1900- • {node} (Node) file or folder
1900+ • {node} (Node|nil ) file or folder
19011901
19021902fs.rename_node({node} ) *nvim-tree-api.fs.rename_node()*
19031903 Prompt to rename a file or folder.
19041904
19051905 Parameters: ~
1906- • {node} (Node) file or folder
1906+ • {node} (Node|nil ) file or folder
19071907
19081908fs.rename({node} ) *nvim-tree-api.fs.rename()*
19091909 Prompt to rename a file or folder by name.
19101910
19111911 Parameters: ~
1912- • {node} (Node) file or folder
1912+ • {node} (Node|nil ) file or folder
19131913
19141914fs.rename_basename({node} ) *nvim-tree-api.fs.rename_basename()*
19151915 Prompt to rename a file or folder by name with extension omitted.
19161916
19171917 Parameters: ~
1918- • {node} (Node) file or folder
1918+ • {node} (Node|nil ) file or folder
19191919
19201920fs.rename_sub({node} ) *nvim-tree-api.fs.rename_sub()*
19211921 Prompt to rename a file or folder by absolute path with name omitted.
19221922
19231923 Parameters: ~
1924- • {node} (Node) file or folder
1924+ • {node} (Node|nil ) file or folder
19251925
19261926fs.rename_full({node} ) *nvim-tree-api.fs.rename_full()*
19271927 Prompt to rename a file or folder by absolute path.
19281928
19291929 Parameters: ~
1930- • {node} (Node) file or folder
1930+ • {node} (Node|nil ) file or folder
19311931
19321932fs.cut({node} ) *nvim-tree-api.fs.cut()*
19331933 Cut a file or folder to the nvim-tree clipboard.
19341934
19351935 Parameters: ~
1936- • {node} (Node) file or folder
1936+ • {node} (Node|nil ) file or folder
19371937
19381938fs.paste({node} ) *nvim-tree-api.fs.paste()*
19391939 Paste a file or folder from the nvim-tree clipboard.
19401940
19411941 Parameters: ~
1942- • {node} (Node) destination folder, uses the parent of a file.
1942+ • {node} (Node|nil ) destination folder, uses the parent of a file.
19431943
19441944fs.copy.node({node} ) *nvim-tree-api.fs.copy.node()*
19451945 Copy a file or folder from the nvim-tree clipboard.
19461946
19471947 Parameters: ~
1948- • {node} (Node) file or folder
1948+ • {node} (Node|nil ) file or folder
19491949
19501950fs.copy.absolute_path({node} ) *nvim-tree-api.fs.copy.absolute_path()*
19511951 Copy the absolute path of a file or folder to the system clipboard.
19521952
19531953 Parameters: ~
1954- • {node} (Node) file or folder
1954+ • {node} (Node|nil ) file or folder
19551955
19561956fs.copy.filename({node} ) *nvim-tree-api.fs.copy.filename()*
19571957 Copy the name of a file or folder to the system clipboard.
19581958
19591959 Parameters: ~
1960- • {node} (Node) file or folder
1960+ • {node} (Node|nil ) file or folder
19611961
19621962fs.copy.relative_path({node} ) *nvim-tree-api.fs.copy.relative_path()*
19631963 Copy the path of a file or folder relative to the tree root to the system
19641964 clipboard.
19651965
19661966 Parameters: ~
1967- • {node} (Node) file or folder
1967+ • {node} (Node|nil ) file or folder
19681968
19691969fs.clear_clipboard() *nvim-tree-api.fs.clear_clipboard()*
19701970 Clear the nvim-tree clipboard.
@@ -1975,34 +1975,37 @@ fs.print_clipboard() *nvim-tree-api.fs.print_clipboard()*
19751975==============================================================================
19761976 6.3 API NODE *nvim-tree-api.node*
19771977
1978- node.open.edit() *nvim-tree-api.node.open.edit()*
1978+ Parameters: ~
1979+ • {node} (Node|nil) file or folder
1980+
1981+ node.open.edit({node} ) *nvim-tree-api.node.open.edit()*
19791982 File: open as per | nvim-tree.actions.open_file |
19801983 Folder: expand or collapse
19811984 Root: change directory up
19821985
19831986 *nvim-tree-api.node.open.replace_tree_buffer()*
1984- node.open.replace_tree_buffer()
1987+ node.open.replace_tree_buffer({node} )
19851988 | nvim-tree-api.node.edit() | , file will be opened in place: in the
19861989 nvim-tree window.
19871990
19881991 *nvim-tree-api.node.open.no_window_picker()*
1989- node.open.no_window_picker()
1992+ node.open.no_window_picker({node} )
19901993 | nvim-tree-api.node.edit() | , window picker will never be used as per
19911994 | nvim-tree.actions.open_file.window_picker.enable | `false`
19921995
1993- node.open.vertical() *nvim-tree-api.node.open.vertical()*
1996+ node.open.vertical({node} ) *nvim-tree-api.node.open.vertical()*
19941997 | nvim-tree-api.node.edit() | , file will be opened in a new vertical split.
19951998
1996- node.open.horizontal() *nvim-tree-api.node.open.horizontal()*
1999+ node.open.horizontal({node} ) *nvim-tree-api.node.open.horizontal()*
19972000 | nvim-tree-api.node.edit() | , file will be opened in a new horizontal split.
19982001
19992002 *nvim-tree-api.node.open.toggle_group_empty()*
2000- node.open.toggle_group_empty()
2003+ node.open.toggle_group_empty({node} )
20012004 Toggle | nvim-tree.renderer.group_empty | for a specific folder.
20022005 Does nothing on files.
20032006 Needs | nvim-tree.renderer.group_empty | set.
20042007
2005- node.open.drop() *nvim-tree-api.node.open.drop()*
2008+ node.open.drop({node} ) *nvim-tree-api.node.open.drop()*
20062009 Switch to window with selected file if it exists.
20072010 Open file otherwise.
20082011 See: `:h :drop`.
@@ -2011,114 +2014,115 @@ node.open.drop() *nvim-tree-api.node.open.drop()*
20112014 Folder: expand or collapse
20122015 Root: change directory up
20132016
2014- node.open.tab() *nvim-tree-api.node.open.tab()*
2017+ node.open.tab({node} ) *nvim-tree-api.node.open.tab()*
20152018 | nvim-tree-api.node.edit() | , file will be opened in a new tab.
20162019
20172020 *nvim-tree-api.node.open.tab_drop()*
2018- node.open.tab_drop()
2021+ node.open.tab_drop({node} )
20192022 Switch to tab containing window with selected file if it exists.
20202023 Open file in new tab otherwise.
20212024
20222025 File: open file using `tab :drop`
20232026 Folder: expand or collapse
20242027 Root: change directory up
20252028
2026- node.open.preview() *nvim-tree-api.node.open.preview()*
2029+ node.open.preview({node} ) *nvim-tree-api.node.open.preview()*
20272030 | nvim-tree-api.node.edit() | , file buffer will have | bufhidden | set to `delete ` .
20282031
2029- node.open.preview_no_picker() *nvim-tree-api.node.open.preview_no_picker()*
2032+ *nvim-tree-api.node.open.preview_no_picker()*
2033+ node.open.preview_no_picker({node} )
20302034 | nvim-tree-api.node.edit() | , file buffer will have | bufhidden | set to `delete ` .
20312035 window picker will never be used as per
20322036 | nvim-tree.actions.open_file.window_picker.enable | `false`
20332037
2034- node.navigate.git.next() *nvim-tree-api.node.navigate.git.next()*
2038+ node.navigate.git.next({node} ) *nvim-tree-api.node.navigate.git.next()*
20352039 Navigate to the next item showing git status.
20362040
20372041 *nvim-tree-api.node.navigate.git.next_recursive()*
2038- node.navigate.git.next_recursive()
2042+ node.navigate.git.next_recursive({node} )
20392043 Alternative to | nvim-tree-api.node.navigate.git.next() | that navigates to
20402044 the next file showing git status, recursively.
20412045 Needs | nvim-tree.git.show_on_dirs | set.
20422046
20432047 *nvim-tree-api.node.navigate.git.next_skip_gitignored()*
2044- node.navigate.git.next_skip_gitignored()
2048+ node.navigate.git.next_skip_gitignored({node} )
20452049 Same as | node.navigate.git.next() | , but skips gitignored files.
20462050
2047- node.navigate.git.prev() *nvim-tree-api.node.navigate.git.prev()*
2051+ node.navigate.git.prev({node} ) *nvim-tree-api.node.navigate.git.prev()*
20482052 Navigate to the previous item showing git status.
20492053
20502054 *nvim-tree-api.node.navigate.git.prev_recursive()*
2051- node.navigate.git.prev_recursive()
2055+ node.navigate.git.prev_recursive({node} )
20522056 Alternative to | nvim-tree-api.node.navigate.git.prev() | that navigates to
20532057 the previous file showing git status, recursively.
20542058 Needs | nvim-tree.git.show_on_dirs | set.
20552059
20562060 *nvim-tree-api.node.navigate.git.prev_skip_gitignored()*
2057- node.navigate.git.prev_skip_gitignored()
2061+ node.navigate.git.prev_skip_gitignored({node} )
20582062 Same as | node.navigate.git.prev() | , but skips gitignored files.
20592063
20602064 *nvim-tree-api.node.navigate.diagnostics.next()*
2061- node.navigate.diagnostics.next()
2065+ node.navigate.diagnostics.next({node} )
20622066 Navigate to the next item showing diagnostic status.
20632067
20642068 *nvim-tree-api.node.navigate.diagnostics.next_recursive()*
2065- node.navigate.diagnostics.next_recursive()
2069+ node.navigate.diagnostics.next_recursive({node} )
20662070 Alternative to | nvim-tree-api.node.navigate.diagnostics.next() | that
20672071 navigates to the next file showing diagnostic status, recursively.
20682072 Needs | nvim-tree.diagnostics.show_on_dirs | set.
20692073
20702074 *nvim-tree-api.node.navigate.diagnostics.prev()*
2071- node.navigate.diagnostics.prev()
2075+ node.navigate.diagnostics.prev({node} )
20722076 Navigate to the next item showing diagnostic status.
20732077
20742078 *nvim-tree-api.node.navigate.diagnostics.prev_recursive()*
2075- node.navigate.diagnostics.prev_recursive()
2079+ node.navigate.diagnostics.prev_recursive({node} )
20762080 Alternative to | nvim-tree-api.node.navigate.diagnostics.prev() | that
20772081 navigates to the previous file showing diagnostic status, recursively.
20782082 Needs | nvim-tree.diagnostics.show_on_dirs | set.
20792083
20802084 *nvim-tree-api.node.navigate.opened.next()*
2081- node.navigate.opened.next()
2085+ node.navigate.opened.next({node} )
20822086 Navigate to the next | bufloaded() | item.
20832087 See | nvim-tree.renderer.highlight_opened_files |
20842088
20852089 *nvim-tree-api.node.navigate.opened.prev()*
2086- node.navigate.opened.prev()
2090+ node.navigate.opened.prev({node} )
20872091 Navigate to the previous | bufloaded() | item.
20882092 See | nvim-tree.renderer.highlight_opened_files |
20892093
20902094 *nvim-tree-api.node.navigate.sibling.next()*
2091- node.navigate.sibling.next()
2095+ node.navigate.sibling.next({node} )
20922096 Navigate to the next node in the current node's folder, wraps.
20932097
20942098 *nvim-tree-api.node.navigate.sibling.prev()*
2095- node.navigate.sibling.prev()
2099+ node.navigate.sibling.prev({node} )
20962100 Navigate to the previous node in the current node's folder, wraps.
20972101
20982102 *nvim-tree-api.node.navigate.sibling.first()*
2099- node.navigate.sibling.first()
2103+ node.navigate.sibling.first({node} )
21002104 Navigate to the first node in the current node's folder.
21012105
21022106 *nvim-tree-api.node.navigate.sibling.last()*
2103- node.navigate.sibling.last()
2107+ node.navigate.sibling.last({node} )
21042108 Navigate to the last node in the current node's folder.
21052109
21062110 *nvim-tree-api.node.navigate.parent()*
2107- node.navigate.parent()
2111+ node.navigate.parent({node} )
21082112 Navigate to the parent folder of the current node.
21092113
21102114 *nvim-tree-api.node.navigate.parent_close()*
2111- node.navigate.parent_close()
2115+ node.navigate.parent_close({node} )
21122116 | api.node.navigate.parent() | , closing that folder.
21132117
2114- node.show_info_popup() *nvim-tree-api.node.show_info_popup()*
2118+ node.show_info_popup({node} ) *nvim-tree-api.node.show_info_popup()*
21152119 Open a popup window showing: fullpath, size, accessed, modified, created.
21162120
2117- node.run.cmd() *nvim-tree-api.node.run.cmd()*
2121+ node.run.cmd({node} ) *nvim-tree-api.node.run.cmd()*
21182122 Enter | cmdline | with the full path of the node and the cursor at the start
21192123 of the line.
21202124
2121- node.run.system() *nvim-tree-api.node.run.system()*
2125+ node.run.system({node} ) *nvim-tree-api.node.run.system()*
21222126 Execute | nvim-tree.system_open |
21232127
21242128==============================================================================
@@ -2296,7 +2300,8 @@ Single left mouse mappings can be achieved via `<LeftRelease>`.
22962300
22972301Single right / middle mouse mappings will require changes to | mousemodel | or | mouse | .
22982302
2299- You may execute your own functions as well as | nvim-tree-api | functions e.g. >
2303+ | vim.keymap.set() | {rhs} is a `(function |string )` thus it may be necessary to
2304+ define your own function to map complex functionality e.g. >
23002305
23012306 local function print_node_path()
23022307 local api = require('nvim-tree.api')
0 commit comments