adapt to feedback
This commit is contained in:
parent
9e4ebe8dad
commit
78b05f2f14
@ -339,17 +339,17 @@ See |nvim-tree-highlight| for details.
|
||||
|
||||
Collapses the nvim-tree recursively.
|
||||
|
||||
See |nvim-tree-api.tree.collapse_all()|
|
||||
See |nvim-tree-api.tree.collapse()|
|
||||
|
||||
Calls: api.tree.collapse_all({ under_cursor = false, keep_buffers = false, })
|
||||
Calls: api.tree.collapse({ under_cursor = false, keep_buffers = false, })
|
||||
|
||||
*:NvimTreeCollapseFolder*
|
||||
|
||||
Collapses the folder under cursor
|
||||
|
||||
See |nvim-tree-api.tree.collapse_all()|
|
||||
See |nvim-tree-api.tree.collapse()|
|
||||
|
||||
Calls: api.tree.collapse_all({ under_cursor = true, keep_buffers = false, })
|
||||
Calls: api.tree.collapse({ under_cursor = true, keep_buffers = false, })
|
||||
|
||||
*:NvimTreeCollapseKeepBuffers*
|
||||
|
||||
@ -1837,16 +1837,22 @@ tree.find_file({opts}) *nvim-tree-api.tree.find_file()*
|
||||
tree.search_node() *nvim-tree-api.tree.search_node()*
|
||||
Open the search dialogue as per the search_node action.
|
||||
|
||||
tree.collapse_all({opts}) *nvim-tree-api.tree.collapse_all()*
|
||||
tree.collapse({opts}) *nvim-tree-api.tree.collapse()*
|
||||
Collapse the tree.
|
||||
|
||||
Parameters: ~
|
||||
• {opts} (table) optional parameters
|
||||
• {opts} (table) parameters
|
||||
|
||||
Parameters: ~
|
||||
• {under_cursor} (boolean) only collapse the node under cursor
|
||||
• {keep_buffers} (boolean) do not collapse nodes with open buffers.
|
||||
|
||||
tree.collapse_all({keep_buffers}) *nvim-tree-api.tree.collapse_all()*
|
||||
Collapse the tree.
|
||||
|
||||
Parameters: ~
|
||||
• {keep_buffers} (boolean) do not collapse nodes with open buffers.
|
||||
|
||||
tree.expand_all({node}) *nvim-tree-api.tree.expand_all()*
|
||||
Recursively expand all nodes under the tree root or specified folder.
|
||||
|
||||
@ -3352,7 +3358,7 @@ highlight group is not, hard linking as follows: >
|
||||
|nvim-tree-api.tree.close_in_all_tabs()|
|
||||
|nvim-tree-api.tree.close_in_this_tab()|
|
||||
|nvim-tree-api.tree.collapse_all()|
|
||||
|nvim-tree-api.tree.collapse
|
||||
|nvim-tree-api.tree.collapse()|
|
||||
|nvim-tree-api.tree.expand_all()|
|
||||
|nvim-tree-api.tree.find_file()|
|
||||
|nvim-tree-api.tree.focus()|
|
||||
|
||||
@ -24,11 +24,11 @@ local function buf_match()
|
||||
end
|
||||
|
||||
---@param opts ApiTreeCollapseOpts | nil
|
||||
function M.fn(opts)
|
||||
opts = opts or {}
|
||||
local keep_buffers = opts.keep_buffers or false
|
||||
local under_cursor = opts.under_cursor or false
|
||||
|
||||
function M.collapse(opts)
|
||||
opts = opts or {
|
||||
keep_buffers = false,
|
||||
under_cursor = true
|
||||
}
|
||||
local explorer = core.get_explorer()
|
||||
if not explorer then
|
||||
return
|
||||
@ -42,11 +42,13 @@ function M.fn(opts)
|
||||
local matches = buf_match()
|
||||
|
||||
local selected_nodes
|
||||
if under_cursor then
|
||||
if opts.under_cursor then
|
||||
local dir = node:as(DirectoryNode)
|
||||
if not node or not node.nodes then
|
||||
return
|
||||
end
|
||||
selected_nodes = node.nodes
|
||||
dir.open = false
|
||||
else
|
||||
selected_nodes = explorer.nodes
|
||||
end
|
||||
@ -56,7 +58,7 @@ function M.fn(opts)
|
||||
:applier(function(n)
|
||||
local dir = n:as(DirectoryNode)
|
||||
if dir then
|
||||
dir.open = keep_buffers and matches(dir.absolute_path)
|
||||
dir.open = opts.keep_buffers and matches(dir.absolute_path)
|
||||
end
|
||||
end)
|
||||
:recursor(function(n)
|
||||
@ -68,4 +70,10 @@ function M.fn(opts)
|
||||
utils.focus_node_or_parent(node)
|
||||
end
|
||||
|
||||
---@param keep_buffers boolean | nil
|
||||
function M.collapse_all(keep_buffers)
|
||||
keep_buffers = keep_buffers or false
|
||||
M.collapse({ keep_buffers = keep_buffers, under_cursor = false })
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,6 +1,6 @@
|
||||
local M = {}
|
||||
|
||||
M.collapse_all = require("nvim-tree.actions.tree.modifiers.collapse-all")
|
||||
M.collapse = require("nvim-tree.actions.tree.modifiers.collapse")
|
||||
M.expand_all = require("nvim-tree.actions.tree.modifiers.expand-all")
|
||||
|
||||
function M.setup(opts)
|
||||
|
||||
@ -187,7 +187,8 @@ Api.tree.search_node = wrap(actions.finders.search_node.fn)
|
||||
---@field under_cursor boolean
|
||||
---@field keep_buffers boolean
|
||||
|
||||
Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse_all.fn)
|
||||
Api.tree.collapse = wrap(actions.tree.modifiers.collapse.collapse)
|
||||
Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse.collapse_all)
|
||||
Api.tree.expand_all = wrap_node(actions.tree.modifiers.expand_all.fn)
|
||||
Api.tree.toggle_enable_filters = wrap_explorer_member("filters", "toggle")
|
||||
Api.tree.toggle_gitignore_filter = wrap_explorer_member_args("filters", "toggle", "git_ignored")
|
||||
|
||||
@ -121,7 +121,7 @@ local CMDS = {
|
||||
bar = true,
|
||||
},
|
||||
command = function()
|
||||
api.tree.collapse_all({ under_cursor = false, keep_buffers = false })
|
||||
api.tree.collapse({ under_cursor = false, keep_buffers = false })
|
||||
end,
|
||||
},
|
||||
{
|
||||
@ -131,7 +131,7 @@ local CMDS = {
|
||||
bar = true,
|
||||
},
|
||||
command = function()
|
||||
api.tree.collapse_all({ under_cursor = true, keep_buffers = false })
|
||||
api.tree.collapse({ under_cursor = true, keep_buffers = false })
|
||||
end,
|
||||
},
|
||||
{
|
||||
@ -141,7 +141,7 @@ local CMDS = {
|
||||
bar = true,
|
||||
},
|
||||
command = function()
|
||||
api.tree.collapse_all(true)
|
||||
api.tree.collapse({ under_cursor = false, keep_buffers = true })
|
||||
end,
|
||||
},
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user