Skip to content

Commit ae0a83a

Browse files
committed
docs(#3088): split node.navigate and open, move all filters into api.filter
1 parent 43fab32 commit ae0a83a

10 files changed

Lines changed: 408 additions & 394 deletions

File tree

doc/nvim-tree-lua.txt

Lines changed: 105 additions & 117 deletions
Large diffs are not rendered by default.

lua/nvim-tree/_meta/api/filter.lua

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,61 @@
11
---@meta
2-
local nvim_tree = { api = { filter = { live_filter = {} } } }
2+
local nvim_tree = { api = { filter = {} } }
33

4+
---
5+
---Toggle [nvim_tree.config.filters] {enable} all filters.
6+
---
7+
function nvim_tree.api.filter.toggle() end
48

5-
-- TODO 3088 move tree filters in here
9+
nvim_tree.api.filter.live = {}
610

711
---
812
---Enter live filter mode. Opens an input window with [filetype] `NvimTreeFilter`
913
---
10-
function nvim_tree.api.filter.live_filter.start() end
14+
function nvim_tree.api.filter.live.start() end
1115

1216
---
1317
---Exit live filter mode.
1418
---
15-
function nvim_tree.api.filter.live_filter.clear() end
19+
function nvim_tree.api.filter.live.clear() end
20+
21+
nvim_tree.api.filter.git = {}
22+
23+
---
24+
---Toggle [nvim_tree.config.filters] {git_clean} filter.
25+
---
26+
function nvim_tree.api.filter.git.clean.toggle() end
27+
28+
---
29+
---Toggle [nvim_tree.config.filters] {git_ignored} filter.
30+
---
31+
function nvim_tree.api.filter.git.ignored.toggle() end
32+
33+
nvim_tree.api.filter.dotfiles = {}
34+
35+
---
36+
---Toggle [nvim_tree.config.filters] {dotfiles} filter.
37+
---
38+
function nvim_tree.api.filter.dotfiles.toggle() end
39+
40+
nvim_tree.api.filter.no_buffer = {}
41+
42+
---
43+
---Toggle [nvim_tree.config.filters] {no_buffer} filter.
44+
---
45+
function nvim_tree.api.filter.no_buffer.toggle() end
46+
47+
nvim_tree.api.filter.no_bookmark = {}
48+
49+
---
50+
---Toggle [nvim_tree.config.filters] {no_bookmark} filter.
51+
---
52+
function nvim_tree.api.filter.no_bookmark.toggle() end
53+
54+
nvim_tree.api.filter.custom = {}
55+
56+
---
57+
---Toggle [nvim_tree.config.filters] {custom} filter.
58+
---
59+
function nvim_tree.api.filter.custom.toggle() end
1660

1761
return nvim_tree.api.filter

lua/nvim-tree/_meta/api/node.lua

Lines changed: 6 additions & 212 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
---@meta
2-
local nvim_tree = { api = { node = { navigate = { sibling = {}, git = {}, diagnostics = {}, opened = {}, }, run = {}, open = {}, buffer = {}, } } }
3-
4-
---
5-
---@class nvim_tree.api.node.open.Opts
6-
---@inlinedoc
7-
---
8-
---Quits the tree when opening the file.
9-
---(default: false)
10-
---@field quit_on_open? boolean
11-
---
12-
---Keep focus in the tree when opening the file.
13-
---(default: false)
14-
---@field focus? boolean
2+
local nvim_tree = { api = { node = {} } }
153

4+
nvim_tree.api.node.navigate = require("nvim-tree._meta.api.node.navigate");
5+
nvim_tree.api.node.open = require("nvim-tree._meta.api.node.open");
166

177
---
188
---@class nvim_tree.api.node.buffer.RemoveOpts
@@ -23,6 +13,8 @@ local nvim_tree = { api = { node = { navigate = { sibling = {}, git = {}, diagno
2313
---@field force? boolean
2414

2515

16+
nvim_tree.api.node.buffer = {}
17+
2618
---
2719
---Deletes node's related buffer, if one exists. Executes [:bdelete] or [:bdelete]!
2820
---
@@ -64,206 +56,8 @@ function nvim_tree.api.node.expand(node, opts) end
6456
---Return `true` if `node` should be expanded. `expansion_count` is the total number of folders expanded.
6557
---@field expand_until? fun(expansion_count: integer, node: Node): boolean
6658

67-
---
68-
---Navigate to the next item showing diagnostic status.
69-
---
70-
---@param node? nvim_tree.api.Node directory or file
71-
function nvim_tree.api.node.navigate.diagnostics.next(node) end
72-
73-
---
74-
---Navigate to the next item showing diagnostic status, recursively. Needs [nvim_tree.config.diagnostics] {show_on_dirs}
75-
---
76-
---@param node? nvim_tree.api.Node directory or file
77-
function nvim_tree.api.node.navigate.diagnostics.next_recursive(node) end
7859

79-
---
80-
---Navigate to the previous item showing diagnostic status.
81-
---
82-
---@param node? nvim_tree.api.Node directory or file
83-
function nvim_tree.api.node.navigate.diagnostics.prev(node) end
84-
85-
---
86-
---Navigate to the previous item showing diagnostic status, recursively. Needs [nvim_tree.config.diagnostics] {show_on_dirs}
87-
---
88-
---@param node? nvim_tree.api.Node directory or file
89-
function nvim_tree.api.node.navigate.diagnostics.prev_recursive(node) end
90-
91-
---
92-
---Navigate to the next item showing git status.
93-
---
94-
---@param node? nvim_tree.api.Node directory or file
95-
function nvim_tree.api.node.navigate.git.next(node) end
96-
97-
---
98-
---Navigate to the next item showing git status, recursively. Needs [nvim_tree.config.git] {show_on_dirs}
99-
---
100-
---@param node? nvim_tree.api.Node directory or file
101-
function nvim_tree.api.node.navigate.git.next_recursive(node) end
102-
103-
---
104-
---Navigate to the next item showing git status, skipping `.gitignore`
105-
---
106-
---@param node? nvim_tree.api.Node directory or file
107-
function nvim_tree.api.node.navigate.git.next_skip_gitignored(node) end
108-
109-
---
110-
---Navigate to the previous item showing git status.
111-
---
112-
---@param node? nvim_tree.api.Node directory or file
113-
function nvim_tree.api.node.navigate.git.prev(node) end
114-
115-
---
116-
---Navigate to the previous item showing git status, recursively. Needs [nvim_tree.config.git] {show_on_dirs}
117-
---
118-
---@param node? nvim_tree.api.Node directory or file
119-
function nvim_tree.api.node.navigate.git.prev_recursive(node) end
120-
121-
---
122-
---Navigate to the previous item showing git status, skipping `.gitignore`
123-
---
124-
---@param node? nvim_tree.api.Node directory or file
125-
function nvim_tree.api.node.navigate.git.prev_skip_gitignored(node) end
126-
127-
---
128-
---Navigate to the next [bufloaded()] file.
129-
---
130-
---@param node? nvim_tree.api.Node directory or file
131-
function nvim_tree.api.node.navigate.opened.next(node) end
132-
133-
---
134-
---Navigate to the previous [bufloaded()] file.
135-
---
136-
---@param node? nvim_tree.api.Node directory or file
137-
function nvim_tree.api.node.navigate.opened.prev(node) end
138-
139-
---
140-
---Navigate to the parent directory of the node.
141-
---
142-
---@param node? nvim_tree.api.Node directory or file
143-
function nvim_tree.api.node.navigate.parent(node) end
144-
145-
---
146-
---Navigate to the parent directory of the node, closing it.
147-
---
148-
---@param node? nvim_tree.api.Node directory or file
149-
function nvim_tree.api.node.navigate.parent_close(node) end
150-
151-
---
152-
---Navigate to the first node in the current node's folder.
153-
---
154-
---@param node? nvim_tree.api.Node directory or file
155-
function nvim_tree.api.node.navigate.sibling.first(node) end
156-
157-
---
158-
---Navigate to the last node in the current node's folder.
159-
---
160-
---@param node? nvim_tree.api.Node directory or file
161-
function nvim_tree.api.node.navigate.sibling.last(node) end
162-
163-
---
164-
---Navigate to the next node in the current node's folder, wraps.
165-
---
166-
---@param node? nvim_tree.api.Node directory or file
167-
function nvim_tree.api.node.navigate.sibling.next(node) end
168-
169-
---
170-
---Navigate to the previous node in the current node's folder, wraps.
171-
---
172-
---@param node? nvim_tree.api.Node directory or file
173-
function nvim_tree.api.node.navigate.sibling.prev(node) end
174-
175-
---
176-
---Switch to window with selected file if it exists, open file otherwise.
177-
---- file: open file using [:drop]
178-
---- directory: expand or collapse
179-
---- root: change directory up
180-
---
181-
---@param node? nvim_tree.api.Node directory or file
182-
function nvim_tree.api.node.open.drop(node) end
183-
184-
---
185-
---- file: open as per [nvim_tree.config.actions.open_file]
186-
---- directory: expand or collapse
187-
---- root: change directory up
188-
---
189-
---@param node? nvim_tree.api.Node directory or file
190-
---@param opts? nvim_tree.api.node.open.Opts optional
191-
function nvim_tree.api.node.open.edit(node, opts) end
192-
193-
---
194-
---Open file in a new horizontal split.
195-
---
196-
---@param node? nvim_tree.api.Node file
197-
---@param opts? nvim_tree.api.node.open.Opts optional
198-
function nvim_tree.api.node.open.horizontal(node, opts) end
199-
200-
---
201-
---Open file in a new horizontal split without using the window picker.
202-
---
203-
---@param node? nvim_tree.api.Node file
204-
---@param opts? nvim_tree.api.node.open.Opts optional
205-
function nvim_tree.api.node.open.horizontal_no_picker(node, opts) end
206-
207-
---
208-
---Open file without using the window picker.
209-
---
210-
---@param node? nvim_tree.api.Node file
211-
---@param opts? nvim_tree.api.node.open.Opts optional
212-
function nvim_tree.api.node.open.no_window_picker(node, opts) end
213-
214-
---
215-
---Open file with ['bufhidden'] set to `delete`.
216-
---
217-
---@param node? nvim_tree.api.Node directory or file
218-
---@param opts? nvim_tree.api.node.open.Opts optional
219-
function nvim_tree.api.node.open.preview(node, opts) end
220-
221-
---
222-
---Open file with ['bufhidden'] set to `delete` without using the window picker.
223-
---
224-
---@param node? nvim_tree.api.Node directory or file
225-
---@param opts? nvim_tree.api.node.open.Opts optional
226-
function nvim_tree.api.node.open.preview_no_picker(node, opts) end
227-
228-
---
229-
---Open file in place: in the nvim-tree window.
230-
---
231-
---@param node? nvim_tree.api.Node file
232-
function nvim_tree.api.node.open.replace_tree_buffer(node) end
233-
234-
---
235-
---Open file in a new tab.
236-
---
237-
---@param node? nvim_tree.api.Node directory or file
238-
---@param opts? nvim_tree.api.node.open.Opts optional
239-
function nvim_tree.api.node.open.tab(node, opts) end
240-
241-
---
242-
---Switch to tab containing window with selected file if it exists. Open file in new tab otherwise.
243-
---
244-
---@param node? nvim_tree.api.Node directory or file
245-
function nvim_tree.api.node.open.tab_drop(node) end
246-
247-
---
248-
---Toggle [nvim_tree.config.renderer] {group_empty} for a directory. Needs {group_empty} set.
249-
---
250-
---@param node? nvim_tree.api.Node directory
251-
---@param opts? nvim_tree.api.node.open.Opts optional
252-
function nvim_tree.api.node.open.toggle_group_empty(node, opts) end
253-
254-
---
255-
---Open file in a new vertical split.
256-
---
257-
---@param node? nvim_tree.api.Node file
258-
---@param opts? nvim_tree.api.node.open.Opts optional
259-
function nvim_tree.api.node.open.vertical(node, opts) end
260-
261-
---
262-
---Open file in a new vertical split without using the window picker.
263-
---
264-
---@param node? nvim_tree.api.Node file
265-
---@param opts? nvim_tree.api.node.open.Opts optional
266-
function nvim_tree.api.node.open.vertical_no_picker(node, opts) end
60+
nvim_tree.api.node.run = {}
26761

26862
---
26963
---Enter [cmdline] with the full path of the node and the cursor at the start of the line.

0 commit comments

Comments
 (0)