Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
7eb61f5
doc(#2934): POC to use gen_vimdoc.lua for decorator meta
alex-courtis Jan 4, 2026
cbfffc6
doc(#2934): use injected gen_vimdoc.lua from nvim source, move decora…
alex-courtis Jan 4, 2026
a5a823b
doc(#2934): tidy and harden scripts
alex-courtis Jan 4, 2026
1960d3a
doc(#2934): add nvim_tree.Config meta classes, add nvim_tree.api. met…
alex-courtis Jan 5, 2026
02c3ecf
doc(#2934): add nvim_tree.Config to help
alex-courtis Jan 5, 2026
d14385f
doc(#2934): add nvim_tree.api classes to help
alex-courtis Jan 5, 2026
d733127
doc(#2934): tidy and correct nvim_tree.Config.UI and nvim_tree.Config…
alex-courtis Jan 5, 2026
4221d19
doc(#2934): tidy and correct nvim_tree.Config.HijackDirectories, form…
alex-courtis Jan 5, 2026
d14677d
doc(#2934): tidy and nvim_tree.Config top level
alex-courtis Jan 5, 2026
86bd8a6
doc(#2934): tidy and format nvim_tree.Config.LiveFilter, Modified, Ta…
alex-courtis Jan 5, 2026
a836f79
doc(#2934): tidy and format nvim_tree.Config.FilesystemWatchers, Log
alex-courtis Jan 5, 2026
b1adfad
doc(#2934): split nvim_tree.Config into files, Sort and HijackDirecto…
alex-courtis Jan 6, 2026
22c1f1b
doc(#2934): more generic gen_vimdoc_config module config
alex-courtis Jan 6, 2026
54dddc3
doc(#2934): tidy Config.HijackDirectories and Actions, move them into…
alex-courtis Jan 6, 2026
8f1f516
doc(#2934): tidy Config.Modified, move into place
alex-courtis Jan 6, 2026
b59183a
doc(#2934): tidy Config.LiveFilter, move into place
alex-courtis Jan 6, 2026
628e9bf
doc(#2934): tidy Config.FilesystemWatchers, move into place
alex-courtis Jan 6, 2026
a6142a2
doc(#2934): tidy Config.Trash, move into place
alex-courtis Jan 6, 2026
d1fd1d4
doc(#2934): tidy Config.Tab, move into place
alex-courtis Jan 6, 2026
b449929
doc(#2934): tidy Config.UI, move into place
alex-courtis Jan 6, 2026
d64aa2d
doc(#2934): tidy Config.Log, move into place
alex-courtis Jan 6, 2026
1aad39e
doc(#2934): tidy Config.Notify, move into place
alex-courtis Jan 6, 2026
1feb014
doc(#2934): tidy Config.SystemOpen, move into place
alex-courtis Jan 6, 2026
e690484
doc(#2934): tidy Config.Help, move into place
alex-courtis Jan 6, 2026
4727f9c
doc(#2934): tidy Config.Help, move into place
alex-courtis Jan 6, 2026
2384e2b
doc(#2934): tidy Config.Help, move into place
alex-courtis Jan 6, 2026
dbdf846
doc(#2934): tidy Config.Diagnostics, move into place
alex-courtis Jan 6, 2026
6faff06
doc(#2934): remove api/decorator as they are out of scope, revert api…
alex-courtis Jan 6, 2026
2554582
doc(#2934): tidy Config.Filters, move into place
alex-courtis Jan 6, 2026
3fea7f4
doc(#2934): tidy Config.FilesystemWatchers, move into place
alex-courtis Jan 6, 2026
1988d5e
doc(#2934): tidy Config.FilesystemWatchers, Git, move into place
alex-courtis Jan 9, 2026
2329508
doc(#2934): tidy Config.UpdateFocusedFile, move into place
alex-courtis Jan 9, 2026
c961bd4
doc(#2934): tidy Config.Sort, move into place
alex-courtis Jan 10, 2026
745fc54
doc(#2934): tidy Config.View, move into place
alex-courtis Jan 10, 2026
6f2744f
doc(#2934): tidy Config.View, move into place
alex-courtis Jan 10, 2026
fd92856
docs(#2934): type DEFAULT_OPTS, use bracketed references to keep lual…
alex-courtis Jan 10, 2026
453b31f
docs(#2934): tidy, inline some classes
alex-courtis Jan 10, 2026
1b21a08
docs(#2934): tidy Config.Renderer
alex-courtis Jan 10, 2026
93e3122
docs(#2934): remove problematic glyphs, tidy other glyphs
alex-courtis Jan 11, 2026
25d57bc
docs(#2934): tidy Config.Renderer, ensure functions are parenthesised…
alex-courtis Jan 11, 2026
3895114
docs(#2934): tidy Config.Renderer
alex-courtis Jan 12, 2026
53db2d0
docs(#2934): tidy Config.Renderer, move into place
alex-courtis Jan 12, 2026
795dde7
docs(#2934): tidy Config.Renderer
alex-courtis Jan 12, 2026
b60fa05
docs(#2934): tidy Config.FilesystemWatchers
alex-courtis Jan 12, 2026
f15aa33
docs(#2934): fix broken links
alex-courtis Jan 12, 2026
06fcb5e
docs(#2934): fix broken links
alex-courtis Jan 12, 2026
aa915c4
docs(#2934): fix broken links
alex-courtis Jan 12, 2026
5c133d3
docs(#2934): fix broken links
alex-courtis Jan 12, 2026
fd4c17d
docs(#2934): refer to nvim in help, not neovim, as this trips the lin…
alex-courtis Jan 12, 2026
e7ae9f0
docs(#2934): fix broken links
alex-courtis Jan 12, 2026
2fcf8a0
docs(#2934): add lintdoc.sh, fix some branding spelling
alex-courtis Jan 12, 2026
316f98b
docs(#2934): update old config links
alex-courtis Jan 12, 2026
d6e5d73
docs(#2934): remove 5. Opts, 8.2 Highlight: Overhaul, 15.1 Index: O…
alex-courtis Jan 12, 2026
2c27f24
docs(#2934): remove indices
alex-courtis Jan 13, 2026
8bfd76f
docs(#2934): add bookmarks, put long descriptions into @brief
alex-courtis Jan 13, 2026
bb53ccd
docs(#2934): move hidden display to verbatim new section
alex-courtis Jan 13, 2026
59d6946
docs(#2934): add config lsp examples, link setup
alex-courtis Jan 13, 2026
a66e30a
docs(#2934): normalise heading formatting, remove TOC
alex-courtis Jan 13, 2026
71c7ed4
docs(#2934): move all icon and highlight info into a table
alex-courtis Jan 14, 2026
531fb94
docs(#2934): move all icon and highlight info into a new section
alex-courtis Jan 14, 2026
5538e01
docs(#2934): normalise all icon and highlight
alex-courtis Jan 14, 2026
3713b69
docs(#2934): extract nvim_tree.Config field descriptions to class ove…
alex-courtis Jan 14, 2026
0a8b2ca
docs(#2934): consistent string formatting
alex-courtis Jan 14, 2026
e5f0c6f
docs(#2934): normalise all icon and highlight
alex-courtis Jan 14, 2026
e470cd1
docs(#2934): remove @briefs as they are shown above the class tag
alex-courtis Jan 14, 2026
6c0e683
docs(#2934): don't <pre> filters
alex-courtis Jan 14, 2026
20b2be1
docs(#2934): add experimental example
alex-courtis Jan 14, 2026
4b654db
docs(#2934): add gen_vimdoc.sh to CI
alex-courtis Jan 15, 2026
0a3df5e
docs(#2934): add gen_vimdoc.sh to CI
alex-courtis Jan 15, 2026
385cfb0
docs(#2934): add gen_vimdoc.sh to CI
alex-courtis Jan 15, 2026
350b590
docs(#2934): temporarily --ignore-blank-lines during help check
alex-courtis Jan 15, 2026
b39bb2b
docs(#2934): add lintdoc.sh to CI
alex-courtis Jan 15, 2026
c2b08fd
docs(#2934): add lintdoc.sh to CI
alex-courtis Jan 15, 2026
f0490bc
docs(#2934): add lintdoc.sh to CI
alex-courtis Jan 15, 2026
4be6efc
docs(#2934): move Nvim build and help-check to the end for faster tur…
alex-courtis Jan 15, 2026
56f486a
docs(#2934): use make lintdoc target directly
alex-courtis Jan 15, 2026
ada718b
docs(#2934): CONTRIBUTING.md updates for help generation and lint
alex-courtis Jan 15, 2026
cdb730d
docs(#2934): revert API opts classes changes
alex-courtis Jan 15, 2026
a0662de
Merge branch 'master' into 2934-gen_vimdoc
alex-courtis Jan 15, 2026
cddb56f
docs(#2934): harden gen and lint scripts, moving things out of nvim-t…
alex-courtis Jan 17, 2026
9627fb8
docs(#2934): harden gen and lint scripts, moving things out of nvim-t…
alex-courtis Jan 17, 2026
de9c62c
docs(#2934): fix lintdoc make target
alex-courtis Jan 17, 2026
2061b93
docs(#3088): extract api/tree.lua
alex-courtis Jan 17, 2026
c689008
docs(#3088): extract api/tree.lua
alex-courtis Jan 17, 2026
521e467
docs(#2934): move help diff check after lint
alex-courtis Jan 17, 2026
10be08b
docs(#3088): update api.tree references, remove old doc
alex-courtis Jan 17, 2026
060455e
docs(#3088): extract api/config/mappings.lua
alex-courtis Jan 17, 2026
4292f97
docs(#3088): api.config.mappings -> api.map
alex-courtis Jan 18, 2026
6f2551b
docs(#3088): extract api/filter.lua
alex-courtis Jan 18, 2026
2201bb0
docs(#3088): move api.git into api.tree
alex-courtis Jan 18, 2026
052d39f
docs(#3088): extract api/health.lua, tidy formatting
alex-courtis Jan 18, 2026
fdba900
docs(#3088): extract api/health.lua, tidy formatting
alex-courtis Jan 18, 2026
cdf1148
docs(#3088): remove command descriptions, show lua, link to api
alex-courtis Jan 18, 2026
8169547
docs(#3088): extract api/marks.lua
alex-courtis Jan 18, 2026
ac9424a
docs(#3088): remove completed legacy api.lua members
alex-courtis Jan 18, 2026
3a08fa2
docs(#3088): extract api/events.lua
alex-courtis Jan 18, 2026
219984a
docs(#3088): extract api/events.lua
alex-courtis Jan 18, 2026
0ad171b
docs(#3088): extract api/fs.lua
alex-courtis Jan 18, 2026
56e61c2
docs(#3088): extract api/commands.lua
alex-courtis Jan 18, 2026
3c65e3f
docs(#3088): extract api/node.lua functions, doc TODO
alex-courtis Jan 18, 2026
9a8fb71
docs(#3088): move all nvim-tree-api to generated doc
alex-courtis Jan 18, 2026
e9b5ca6
docs(#3088): old api is now impl, use new api
alex-courtis Jan 18, 2026
cbc97fe
docs(#3088): extract api/node.lua functions, doc WIP
alex-courtis Jan 20, 2026
46652cb
docs(#3088): extract api/node.lua functions, doc WIP
alex-courtis Jan 20, 2026
8853151
docs(#3088): extract api/node.lua functions, doc WIP
alex-courtis Jan 20, 2026
941f11f
docs(#3088): extract api/node.lua functions
alex-courtis Jan 20, 2026
db6d210
docs(#3088): move api into _meta
alex-courtis Jan 20, 2026
d8a5442
docs(#3088): move api-impl out of meta, restore it to its original st…
alex-courtis Jan 20, 2026
f1d1f1b
docs(#3088): remove old Api classes, rename impl Api -> api
alex-courtis Jan 20, 2026
506def5
docs(#3088): tidy migrated annotations
alex-courtis Jan 20, 2026
4f966c6
docs(#3088): format nvim_tree.api.commands
alex-courtis Jan 20, 2026
0170127
docs(#3088): separate api classes at the end
alex-courtis Jan 20, 2026
002b99d
docs(#3088): polish vimdoc config
alex-courtis Jan 20, 2026
29fec08
docs(#3088): format
alex-courtis Jan 20, 2026
dc536aa
docs(#2934): polish vimdoc config
alex-courtis Jan 20, 2026
94e23a5
Merge branch '2934-gen_vimdoc' into 3088-gen_vimdoc-api-3231-remove-a…
alex-courtis Jan 20, 2026
c51db1d
docs(#2934): snake case config class names
alex-courtis Jan 20, 2026
de68ae3
docs(#2934): snake case config alias names
alex-courtis Jan 20, 2026
c11308b
docs(#2934): note help tag prefixes
alex-courtis Jan 20, 2026
eb9f27d
docs(#2934): snake case config sections
alex-courtis Jan 21, 2026
411e3af
docs(#2934): move default config to end
alex-courtis Jan 21, 2026
ae58d2e
docs(#2934): move setup doc from config to quickstart and setup
alex-courtis Jan 21, 2026
0ed74d2
docs(#2934): index contributing
alex-courtis Jan 21, 2026
69ab5c7
Merge branch '2934-gen_vimdoc' into 3088-gen_vimdoc-api-3231-remove-a…
alex-courtis Jan 21, 2026
88fe257
Merge branch 'master' into 3088-gen_vimdoc-api-3231-remove-api-requires
alex-courtis Jan 22, 2026
0c78c27
docs(#3088): cleanup following merge
alex-courtis Jan 22, 2026
43fab32
docs(#3088): tidy section names
alex-courtis Jan 22, 2026
ae0a83a
docs(#3088): split node.navigate and open, move all filters into api.…
alex-courtis Jan 22, 2026
48de5e0
docs(#3088): hidden->custom toggle default desc
alex-courtis Jan 22, 2026
e47079e
docs(#3088): add legacy filter api mappings
alex-courtis Jan 22, 2026
98c3655
docs(#3088): tidy api meta
alex-courtis Jan 22, 2026
9d4a117
docs(#3088): always exclude meta from luacheck, it doesn't offer anyt…
alex-courtis Jan 22, 2026
6939619
docs(#3088): extract fs.copy, fix api node param optionality, move le…
alex-courtis Jan 23, 2026
02ce4fb
docs(#3088): correct optionality of nvim_tree.config.view.width fields
alex-courtis Jan 23, 2026
3bafec9
docs(#3088): hydrate API before setup with error functions, with some…
alex-courtis Jan 23, 2026
4cbe0d7
docs(#3088): remove api impl error wrap
alex-courtis Jan 23, 2026
6b38f1c
docs(#3088): split api pre and post, add more comments
alex-courtis Jan 24, 2026
ba4f507
docs(#3088): split api pre and post, add more comments
alex-courtis Jan 24, 2026
a79a495
docs(#3088): extract post impl functions, lazy some requires
alex-courtis Jan 24, 2026
28281aa
Merge branch 'master' into 3088-gen_vimdoc-api-3231-remove-api-requires
alex-courtis Jan 24, 2026
c6ea6c5
docs(#3088): lazy api impl requires
alex-courtis Jan 24, 2026
728e851
Revert "docs(#3088): lazy api impl requires"
alex-courtis Jan 24, 2026
49b0b80
docs(#3088): minimise api pre following tests
alex-courtis Jan 24, 2026
b3e8a63
docs(#3088): move node classes under api with logical order
alex-courtis Jan 24, 2026
9e6ce3a
docs(#3088): document node and git classes, namespace internal and ex…
alex-courtis Jan 25, 2026
8e9e73b
Merge remote-tracking branch 'origin/master' into 3088-gen_vimdoc-api…
alex-courtis Jan 25, 2026
f71ff50
docs(#3088): fix merge issue
alex-courtis Jan 25, 2026
11f96e1
docs(#3088): tidy pre comments
alex-courtis Jan 25, 2026
63e3679
docs(#3088): collapse node and fs submodules
alex-courtis Jan 25, 2026
338e95a
docs(#3088): move api help and classes back into api.lua
alex-courtis Jan 25, 2026
b4b9b20
docs(#3088): resize command calls api, not view
alex-courtis Jan 25, 2026
d8558bb
docs(#3088): tidy api map names
alex-courtis Jan 26, 2026
cbd6fa2
docs(#3088): revert api.git refactor, provide deprecated api meta
alex-courtis Jan 26, 2026
e460df4
docs(#3088): add deprecated api @see
alex-courtis Jan 27, 2026
534bcdf
Merge branch 'master' into 3088-gen_vimdoc-api-3231-remove-api-requires
alex-courtis Jan 27, 2026
ee06bf2
docs(#3088): class fixes following merge, disable luacheck on scripts
alex-courtis Jan 27, 2026
7785196
docs(#3088): Node:should_expand nops
alex-courtis Jan 27, 2026
ce74883
docs(#3088): fix _git return
alex-courtis Jan 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ This will:
2. Regenerate from `*nvim-tree-config*` to the end of the file, see `gen_vimdoc.sh`
3. Update default mappings in `*nvim-tree-mappings-default*` and `*nvim-tree-quickstart-help*`

Commit your changes then run:
Commit or stage your changes then run:
```sh
make help-check
```
Expand Down
4 changes: 1 addition & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@ check: luals
#
# subtasks
#
# TODO #3241 ensure that decorator is checked - all meta should be valid
luacheck:
luacheck --codes --quiet lua --exclude-files "**/_meta/api_decorator.lua"
luacheck --codes --quiet scripts
luacheck --codes --quiet lua --exclude-files "**/_meta/**"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

luacheck just can't cope with meta. luals is fine so just skip it.


style-check:
scripts/luals-check.sh codestyle-check
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ local function my_on_attach(bufnr)
end

-- default mappings
api.config.mappings.default_on_attach(bufnr)
api.map.on_attach.default(bufnr)

-- custom mappings
vim.keymap.set('n', '<C-t>', api.tree.change_root_to_parent, opts('Up'))
Expand Down
4,634 changes: 2,372 additions & 2,262 deletions doc/nvim-tree-lua.txt

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions lua/nvim-tree.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
local api = require("nvim-tree.api")
local log = require("nvim-tree.log")
local view = require("nvim-tree.view")
local utils = require("nvim-tree.utils")
Expand Down Expand Up @@ -811,6 +812,8 @@ function M.setup(conf)

vim.g.NvimTreeSetup = 1
vim.api.nvim_exec_autocmds("User", { pattern = "NvimTreeSetup" })

require("nvim-tree.api.impl.post")(api)
end

vim.g.NvimTreeRequired = 1
Expand Down
9 changes: 9 additions & 0 deletions lua/nvim-tree/_meta/api/_git.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---@meta
local nvim_tree = { api = { git = {} } }

---
---Update the git status of the entire tree.
---
function nvim_tree.api.git.reload() end

return nvim_tree.api.git
20 changes: 20 additions & 0 deletions lua/nvim-tree/_meta/api/commands.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---@meta
local nvim_tree = { api = { commands = {} } }

---
---@class nvim_tree.api.commands.Command
---@inlinedoc
---
---@field name string name of the `:NvimTree*` command
---@field command fun(args: vim.api.keyset.create_user_command.command_args) function that the command will execute
---@field opts vim.api.keyset.user_command [command-attributes]

---
---Retrieve all [nvim-tree-commands]
---
---They have been created via [nvim_create_user_command()], see also [lua-guide-commands-create]
---
---@return nvim_tree.api.commands.Command[]
function nvim_tree.api.commands.get() end

return nvim_tree.api.commands
11 changes: 11 additions & 0 deletions lua/nvim-tree/_meta/api/events.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---@meta
local nvim_tree = { api = { events = {} } }

---
---Register a handler for an event, see [nvim-tree-events].
---
---@param event_type string [nvim_tree_events_kind]
---@param callback fun(payload: table?)
function nvim_tree.api.events.subscribe(event_type, callback) end

return nvim_tree.api.events
61 changes: 61 additions & 0 deletions lua/nvim-tree/_meta/api/filter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---@meta
local nvim_tree = { api = { filter = {} } }

---
---Toggle [nvim_tree.config.filters] {enable} which applies to ALL filters.
---
function nvim_tree.api.filter.toggle() end

nvim_tree.api.filter.live = {}

---
---Enter live filter mode. Opens an input window with [filetype] `NvimTreeFilter`
---
function nvim_tree.api.filter.live.start() end

---
---Exit live filter mode.
---
function nvim_tree.api.filter.live.clear() end

nvim_tree.api.filter.git = { clean = {}, ignored = {} }

---
---Toggle [nvim_tree.config.filters] {git_clean} filter.
---
function nvim_tree.api.filter.git.clean.toggle() end

---
---Toggle [nvim_tree.config.filters] {git_ignored} filter.
---
function nvim_tree.api.filter.git.ignored.toggle() end

nvim_tree.api.filter.dotfiles = {}

---
---Toggle [nvim_tree.config.filters] {dotfiles} filter.
---
function nvim_tree.api.filter.dotfiles.toggle() end

nvim_tree.api.filter.no_buffer = {}

---
---Toggle [nvim_tree.config.filters] {no_buffer} filter.
---
function nvim_tree.api.filter.no_buffer.toggle() end

nvim_tree.api.filter.no_bookmark = {}

---
---Toggle [nvim_tree.config.filters] {no_bookmark} filter.
---
function nvim_tree.api.filter.no_bookmark.toggle() end

nvim_tree.api.filter.custom = {}

---
---Toggle [nvim_tree.config.filters] {custom} filter.
---
function nvim_tree.api.filter.custom.toggle() end

return nvim_tree.api.filter
114 changes: 114 additions & 0 deletions lua/nvim-tree/_meta/api/fs.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---@meta
local nvim_tree = { api = { fs = {} } }

---
---Clear the nvim-tree clipboard.
---
function nvim_tree.api.fs.clear_clipboard() end

nvim_tree.api.fs.copy = {}

---
---Copy the absolute path to the system clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.copy.absolute_path(node) end

---
---Copy the name with extension omitted to the system clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.copy.basename(node) end

---
---Copy the name to the system clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.copy.filename(node) end

---
---Copy to the nvim-tree clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.copy.node(node) end

---
---Copy the path relative to the tree root to the system clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.copy.relative_path(node) end

---
---Prompt to create a file or directory.
---
---When {node} is a file it will be created in the parent directory.
---
---Use a trailing `"/"` to create a directory e.g. `"foo/"`
---
---Multiple directories/files may be created e.g. `"foo/bar/baz"`
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.create(node) end

---
---Cut to the nvim-tree clipboard.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.cut(node) end

---
---Paste from the nvim-tree clipboard.
---
---If {node} is a file it will pasted in the parent directory.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.paste(node) end

---
---Print the contents of the nvim-tree clipboard.
---
function nvim_tree.api.fs.print_clipboard() end

---
---Delete from the file system.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.remove(node) end

---
---Prompt to rename by name.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.rename(node) end

---
---Prompt to rename by name with extension omitted.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.rename_basename(node) end

---
---Prompt to rename by absolute path.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.rename_full(node) end

---
---Prompt to rename.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.rename_node(node) end

---
---Prompt to rename by absolute path with name omitted.
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.rename_sub(node) end

---
---Trash as per |nvim_tree.config.trash|
---
---@param node? nvim_tree.api.Node
function nvim_tree.api.fs.trash(node) end

return nvim_tree.api.fs
11 changes: 11 additions & 0 deletions lua/nvim-tree/_meta/api/health.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---@meta
local nvim_tree = { api = { health = {} } }

---
---Open a new buffer displaying all nvim-tree highlight groups, their link chain and concrete definition.
---
---Similar to `:so $VIMRUNTIME/syntax/hitest.vim` as per |:highlight|
---
function nvim_tree.api.health.hi_test() end

return nvim_tree.api.health
26 changes: 26 additions & 0 deletions lua/nvim-tree/_meta/api/map.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---@meta
local nvim_tree = { api = { map = {} } }

nvim_tree.api.map.keymap = {}

---
---Retrieve all buffer local mappings for nvim-tree. These are the mappings that are applied by [nvim_tree.config] {on_attach}, which may include default mappings.
---
---@return vim.api.keyset.get_keymap[]
function nvim_tree.api.map.keymap.current() end

---
--- Retrieves the buffer local mappings for nvim-tree that are applied by [nvim_tree.api.map.on_attach.default()]
---
---@return vim.api.keyset.get_keymap[]
function nvim_tree.api.map.keymap.default() end

nvim_tree.api.map.on_attach = {}

---
---Apply all [nvim-tree-mappings-default]. Call from your [nvim_tree.config] {on_attach}.
---
---@param bufnr integer use the `bufnr` passed to {on_attach}
function nvim_tree.api.map.on_attach.default(bufnr) end

return nvim_tree.api.map
62 changes: 62 additions & 0 deletions lua/nvim-tree/_meta/api/marks.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---@meta
local nvim_tree = { api = { marks = {} } }

---
---Return the node if it is marked.
---
---@return nvim_tree.api.Node?
function nvim_tree.api.marks.get() end

---
---Retrieve all marked nodes.
---
---@return nvim_tree.api.Node[]
function nvim_tree.api.marks.list() end

---
---Toggle mark.
---
---@param node? nvim_tree.api.Node file or directory
function nvim_tree.api.marks.toggle(node) end

---
---Clear all marks.
---
function nvim_tree.api.marks.clear() end

nvim_tree.api.marks.bulk = {}

---
---Delete all marked, prompting if [nvim_tree.config.ui.confirm] {remove}
---
function nvim_tree.api.marks.bulk.delete() end

---
---Delete all marked, prompting if [nvim_tree.config.ui.confirm] {trash}
---
function nvim_tree.api.marks.bulk.trash() end

---
---Prompts for a directory to move all marked nodes into.
---
function nvim_tree.api.marks.bulk.move() end

nvim_tree.api.marks.navigate = {}

---
---Navigate to the next marked node, wraps.
---
function nvim_tree.api.marks.navigate.next() end

---
---Navigate to the previous marked node, wraps.
---
function nvim_tree.api.marks.navigate.prev() end

---
---Prompts for selection of a marked node, sorted by absolute paths.
---A folder will be focused, a file will be opened.
---
function nvim_tree.api.marks.navigate.select() end

return nvim_tree.api.marks
Loading
Loading