Skip to content

Commit 0ad171b

Browse files
committed
docs(#3088): extract api/fs.lua
1 parent 219984a commit 0ad171b

File tree

5 files changed

+239
-124
lines changed

5 files changed

+239
-124
lines changed

doc/nvim-tree-lua.txt

Lines changed: 112 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -163,20 +163,6 @@ Quickstart: Custom Mappings *nvim-tree-quickstart-custom-mappings*
163163

164164
TODO #3088 remove dummy tags once entire API has been migrated
165165

166-
*nvim_tree.api.fs.copy.absolute_path()*
167-
*nvim_tree.api.fs.copy.basename()*
168-
*nvim_tree.api.fs.copy.filename()*
169-
*nvim_tree.api.fs.copy.node()*
170-
*nvim_tree.api.fs.copy.relative_path()*
171-
*nvim_tree.api.fs.create()*
172-
*nvim_tree.api.fs.cut()*
173-
*nvim_tree.api.fs.paste()*
174-
*nvim_tree.api.fs.remove()*
175-
*nvim_tree.api.fs.rename()*
176-
*nvim_tree.api.fs.rename_basename()*
177-
*nvim_tree.api.fs.rename_full()*
178-
*nvim_tree.api.fs.rename_sub()*
179-
*nvim_tree.api.fs.trash()*
180166
*nvim_tree.api.node.navigate.diagnostics.next()*
181167
*nvim_tree.api.node.navigate.diagnostics.prev()*
182168
*nvim_tree.api.node.navigate.git.next()*
@@ -293,7 +279,7 @@ Commands may be executed with a `<bang>` (`!`) or take a `<path>` string argumen
293279
focus = true,
294280
})
295281
<
296-
*:NvimTreeClipboard* |nvim-tree-api.fs.print_clipboard()| >lua
282+
*:NvimTreeClipboard* |nvim_tree.api.fs.print_clipboard()| >lua
297283

298284
require("nvim-tree.api").fs.print_clipboard()
299285
<
@@ -635,108 +621,6 @@ Functions accepting {node} as their first argument will use the node under the
635621
cursor when that argument is not present or nil.
636622

637623

638-
==============================================================================
639-
API: File System *nvim-tree-api.fs*
640-
641-
fs.create({node}) *nvim-tree-api.fs.create()*
642-
Prompt to create a file or directory. Use a trailing `/` for a directory.
643-
Multiple directories/files may be created e.g. `foo/bar/baz`
644-
645-
Parameters: ~
646-
{node} (Node|nil) parent, uses the parent of a file.
647-
648-
fs.remove({node}) *nvim-tree-api.fs.remove()*
649-
Delete a file or folder from the file system.
650-
651-
Parameters: ~
652-
{node} (Node|nil) file or folder
653-
654-
fs.trash({node}) *nvim-tree-api.fs.trash()*
655-
Trash a file or folder as per |nvim_tree.Config.Trash|
656-
657-
Parameters: ~
658-
{node} (Node|nil) file or folder
659-
660-
fs.rename_node({node}) *nvim-tree-api.fs.rename_node()*
661-
Prompt to rename a file or folder.
662-
663-
Parameters: ~
664-
{node} (Node|nil) file or folder
665-
666-
fs.rename({node}) *nvim-tree-api.fs.rename()*
667-
Prompt to rename a file or folder by name.
668-
669-
Parameters: ~
670-
{node} (Node|nil) file or folder
671-
672-
fs.rename_basename({node}) *nvim-tree-api.fs.rename_basename()*
673-
Prompt to rename a file or folder by name with extension omitted.
674-
675-
Parameters: ~
676-
{node} (Node|nil) file or folder
677-
678-
fs.rename_sub({node}) *nvim-tree-api.fs.rename_sub()*
679-
Prompt to rename a file or folder by absolute path with name omitted.
680-
681-
Parameters: ~
682-
{node} (Node|nil) file or folder
683-
684-
fs.rename_full({node}) *nvim-tree-api.fs.rename_full()*
685-
Prompt to rename a file or folder by absolute path.
686-
687-
Parameters: ~
688-
{node} (Node|nil) file or folder
689-
690-
fs.cut({node}) *nvim-tree-api.fs.cut()*
691-
Cut a file or folder to the nvim-tree clipboard.
692-
693-
Parameters: ~
694-
{node} (Node|nil) file or folder
695-
696-
fs.paste({node}) *nvim-tree-api.fs.paste()*
697-
Paste a file or folder from the nvim-tree clipboard.
698-
699-
Parameters: ~
700-
{node} (Node|nil) destination folder, uses the parent of a file.
701-
702-
fs.copy.node({node}) *nvim-tree-api.fs.copy.node()*
703-
Copy a file or folder from the nvim-tree clipboard.
704-
705-
Parameters: ~
706-
{node} (Node|nil) file or folder
707-
708-
fs.copy.absolute_path({node}) *nvim-tree-api.fs.copy.absolute_path()*
709-
Copy the absolute path of a file or folder to the system clipboard.
710-
711-
Parameters: ~
712-
{node} (Node|nil) file or folder
713-
714-
fs.copy.basename({node}) *nvim-tree-api.fs.copy.basename()*
715-
Copy the name of a file or folder with extension omitted to the system
716-
clipboard.
717-
718-
Parameters: ~
719-
{node} (Node|nil) file or folder
720-
721-
fs.copy.filename({node}) *nvim-tree-api.fs.copy.filename()*
722-
Copy the name of a file or folder to the system clipboard.
723-
724-
Parameters: ~
725-
{node} (Node|nil) file or folder
726-
727-
fs.copy.relative_path({node}) *nvim-tree-api.fs.copy.relative_path()*
728-
Copy the path of a file or folder relative to the tree root to the system
729-
clipboard.
730-
731-
Parameters: ~
732-
{node} (Node|nil) file or folder
733-
734-
fs.clear_clipboard() *nvim-tree-api.fs.clear_clipboard()*
735-
Clear the nvim-tree clipboard.
736-
737-
fs.print_clipboard() *nvim-tree-api.fs.print_clipboard()*
738-
Print the contents of the nvim-tree clipboard.
739-
740624
==============================================================================
741625
API: Node *nvim-tree-api.node*
742626

@@ -1596,13 +1480,13 @@ can can be used to identify the type of prompt, to allow user side
15961480
configurations for different types of prompts.
15971481

15981482
- `nvimtree_overwrite_rename`
1599-
overwrite or rename during |nvim-tree-api.fs.paste()|
1483+
overwrite or rename during |nvim_tree.api.fs.paste()|
16001484

16011485
- `nvimtree_remove`
1602-
delete during |nvim-tree-api.fs.remove()|
1486+
delete during |nvim_tree.api.fs.remove()|
16031487

16041488
- `nvimtree_trash`
1605-
send to trash during |nvim-tree-api.fs.trash()|
1489+
send to trash during |nvim_tree.api.fs.trash()|
16061490

16071491
- `nvimtree_bulk_delete`
16081492
delete all bookmarked during |nvim-tree-api.marks.bulk.delete()|
@@ -2870,6 +2754,114 @@ live_filter.start() *nvim_tree.api.filter.live_filter.start()*
28702754
`NvimTreeFilter`
28712755

28722756

2757+
==============================================================================
2758+
Lua module: nvim_tree.api.fs *nvim-tree-api-fs*
2759+
2760+
clear_clipboard() *nvim_tree.api.fs.clear_clipboard()*
2761+
Clear the nvim-tree clipboard.
2762+
2763+
copy.absolute_path({node}) *nvim_tree.api.fs.copy.absolute_path()*
2764+
Copy the absolute path to the system clipboard.
2765+
2766+
Parameters: ~
2767+
{node} (`nvim_tree.api.Node`)
2768+
2769+
copy.basename({node}) *nvim_tree.api.fs.copy.basename()*
2770+
Copy the name with extension omitted to the system clipboard.
2771+
2772+
Parameters: ~
2773+
{node} (`nvim_tree.api.Node`)
2774+
2775+
copy.filename({node}) *nvim_tree.api.fs.copy.filename()*
2776+
Copy the name to the system clipboard.
2777+
2778+
Parameters: ~
2779+
{node} (`nvim_tree.api.Node`)
2780+
2781+
copy.node({node}) *nvim_tree.api.fs.copy.node()*
2782+
Copy to the nvim-tree clipboard.
2783+
2784+
Parameters: ~
2785+
{node} (`nvim_tree.api.Node`)
2786+
2787+
copy.relative_path({node}) *nvim_tree.api.fs.copy.relative_path()*
2788+
Copy the path relative to the tree root to the system clipboard.
2789+
2790+
Parameters: ~
2791+
{node} (`nvim_tree.api.Node`)
2792+
2793+
create({node}) *nvim_tree.api.fs.create()*
2794+
Prompt to create a file or directory.
2795+
2796+
When {node} is a file it will be created in the parent directory.
2797+
2798+
Use a trailing `"/"` to create a directory e.g. `"foo/"`
2799+
2800+
Multiple directories/files may be created e.g. `"foo/bar/baz"`
2801+
2802+
Parameters: ~
2803+
{node} (`nvim_tree.api.Node`)
2804+
2805+
cut({node}) *nvim_tree.api.fs.cut()*
2806+
Cut to the nvim-tree clipboard.
2807+
2808+
Parameters: ~
2809+
{node} (`nvim_tree.api.Node`)
2810+
2811+
paste({node}) *nvim_tree.api.fs.paste()*
2812+
Paste from the nvim-tree clipboard.
2813+
2814+
If {node} is a file it will pasted in the parent directory.
2815+
2816+
Parameters: ~
2817+
{node} (`nvim_tree.api.Node`)
2818+
2819+
print_clipboard() *nvim_tree.api.fs.print_clipboard()*
2820+
Print the contents of the nvim-tree clipboard.
2821+
2822+
remove({node}) *nvim_tree.api.fs.remove()*
2823+
Delete from the file system.
2824+
2825+
Parameters: ~
2826+
{node} (`nvim_tree.api.Node`)
2827+
2828+
rename({node}) *nvim_tree.api.fs.rename()*
2829+
Prompt to rename by name.
2830+
2831+
Parameters: ~
2832+
{node} (`nvim_tree.api.Node`)
2833+
2834+
rename_basename({node}) *nvim_tree.api.fs.rename_basename()*
2835+
Prompt to rename by name with extension omitted.
2836+
2837+
Parameters: ~
2838+
{node} (`nvim_tree.api.Node`)
2839+
2840+
rename_full({node}) *nvim_tree.api.fs.rename_full()*
2841+
Prompt to rename by absolute path.
2842+
2843+
Parameters: ~
2844+
{node} (`nvim_tree.api.Node`)
2845+
2846+
rename_node({node}) *nvim_tree.api.fs.rename_node()*
2847+
Prompt to rename.
2848+
2849+
Parameters: ~
2850+
{node} (`nvim_tree.api.Node`)
2851+
2852+
rename_sub({node}) *nvim_tree.api.fs.rename_sub()*
2853+
Prompt to rename by absolute path with name omitted.
2854+
2855+
Parameters: ~
2856+
{node} (`nvim_tree.api.Node`)
2857+
2858+
trash({node}) *nvim_tree.api.fs.trash()*
2859+
Trash as per |nvim_tree.Config.Trash|
2860+
2861+
Parameters: ~
2862+
{node} (`nvim_tree.api.Node`)
2863+
2864+
28732865
==============================================================================
28742866
Lua module: nvim_tree.api.health *nvim-tree-api-health*
28752867

lua/nvim-tree/api.lua

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ local Api = {
2727
open = {},
2828
buffer = {},
2929
},
30-
events = {},
30+
-- events = {},
3131
-- marks = {
3232
-- bulk = {},
3333
-- navigate = {},
3434
-- },
35-
fs = {
36-
copy = {},
37-
},
35+
-- fs = {
36+
-- copy = {},
37+
-- },
3838
-- git = {},
3939
-- live_filter = {},
4040
-- config = {
@@ -232,6 +232,9 @@ Api.git = {
232232

233233
end
234234

235+
function Api.hydrate_fs(fs)
236+
Api.fs = fs
237+
235238
Api.fs.create = wrap_node_or_nil(actions.fs.create_file.fn)
236239
Api.fs.remove = wrap_node(actions.fs.remove_file.fn)
237240
Api.fs.trash = wrap_node(actions.fs.trash.fn)
@@ -249,6 +252,9 @@ Api.fs.copy.absolute_path = wrap_node(wrap_explorer_member("clipboard", "copy_ab
249252
Api.fs.copy.filename = wrap_node(wrap_explorer_member("clipboard", "copy_filename"))
250253
Api.fs.copy.basename = wrap_node(wrap_explorer_member("clipboard", "copy_basename"))
251254
Api.fs.copy.relative_path = wrap_node(wrap_explorer_member("clipboard", "copy_path"))
255+
256+
end
257+
252258
---
253259
---@class NodeEditOpts
254260
---@field quit_on_open boolean|nil default false

0 commit comments

Comments
 (0)