feat(#3037): add API node.buffer.delete, node.buffer.wipe (#3040)

* feat(mappings): add key map to close file buffer

* feat: implement Api.node.buffer.delete

* feat: implement Api.node.buffer.wipe

* refactor: add util fn for common delete ops on bufs

* fix: minor fixes

* refactor: fix lint issues

* fix: undo unintended ApiTreeToggleOpts change

* fix: change error message level to info

* fix: remove unused opts

* refactor: merge delete-buffer and wipe-buffer into single buffer file

* refactor: make wipe and delete fns take a node instead of a file path

* docs: update help with new API commands

* remove refactored utils.lua

* remove unused static setup

* tweak doc

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
Gabriel Crispino
2025-01-24 22:47:34 -03:00
committed by GitHub
parent db7403243d
commit fee1da8897
4 changed files with 95 additions and 1 deletions

View File

@@ -1894,7 +1894,7 @@ tree.winid({opts}) *nvim-tree-api.tree.winid()*
• {opts} (table) optional parameters
Options: ~
• {tabpage} (number|nil) tabpage, 0 or nil for current, default nil
• {tabpage} (number|nil) tabpage, 0 or nil for current, default nil
Return: ~
(number) winid or nil if tree is not visible
@@ -2164,6 +2164,28 @@ node.run.cmd({node}) *nvim-tree-api.node.run.cmd()*
node.run.system({node}) *nvim-tree-api.node.run.system()*
Execute |nvim-tree.system_open|
node.buffer.delete({node}, {opts}) *nvim-tree-api.node.buffer.delete()*
Deletes node's related buffer, if one exists.
Executes |:bdelete| or |:bdelete|!
Parameters: ~
• {node} (Node|nil) file or folder
• {opts} (table) optional parameters
Options: ~
• {force} (boolean) delete even if buffer is modified, default false
node.buffer.wipe({node}, {opts}) *nvim-tree-api.node.buffer.wipe()*
Wipes node's related buffer, if one exists.
Executes |:bwipe| or |:bwipe|!
Parameters: ~
• {node} (Node|nil) file or folder
• {opts} (table) optional parameters
Options: ~
• {force} (boolean) wipe even if buffer is modified, default false
==============================================================================
6.4 API GIT *nvim-tree-api.git*
@@ -3178,6 +3200,8 @@ highlight group is not, hard linking as follows: >
|nvim-tree-api.marks.navigate.prev()|
|nvim-tree-api.marks.navigate.select()|
|nvim-tree-api.marks.toggle()|
|nvim-tree-api.node.buffer.delete()|
|nvim-tree-api.node.buffer.wipe()|
|nvim-tree-api.node.navigate.diagnostics.next()|
|nvim-tree-api.node.navigate.diagnostics.next_recursive()|
|nvim-tree-api.node.navigate.diagnostics.prev()|