* feat(#1389): add next recursive for git and diag moves The recurse opt can be used to directly go to the next item showing git/diagnostic status recursively. Signed-off-by: Antonin Godard <antoningodard@pm.me> * refactor: status logic in single function Rename get_status to status_is_valid. Use status_is_valid function in multiple place to avoid duplicating code. Signed-off-by: Antonin Godard <antoningodard@pm.me> * feat(#1389): add prev recursive for git and diag moves Signed-off-by: Antonin Godard <antoningodard@pm.me> * fix(#1389): next recursive: take root node into account The root node cannot have a status. Previously if moving from the root node, status_is_valid was trying to fetch the status from it and errored. Signed-off-by: Antonin Godard <antoningodard@pm.me> * fix(#1389): doc: remove show_on_open_dirs limitation Signed-off-by: Antonin Godard <antoningodard@pm.me> * feat(#1389): move find_node_line to utils Signed-off-by: Antonin Godard <antoningodard@pm.me> * feat(#1389): doc: note recursive moves are to files only, tidy --------- Signed-off-by: Antonin Godard <antoningodard@pm.me> Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
@@ -116,6 +116,28 @@ function M.find_node(nodes, fn)
|
||||
return node, i
|
||||
end
|
||||
|
||||
-- Find the line number of a node.
|
||||
-- Return -1 is node is nil or not found.
|
||||
---@param node Node|nil
|
||||
---@return integer
|
||||
function M.find_node_line(node)
|
||||
if not node then
|
||||
return -1
|
||||
end
|
||||
|
||||
local first_node_line = require("nvim-tree.core").get_nodes_starting_line()
|
||||
local nodes_by_line = M.get_nodes_by_line(require("nvim-tree.core").get_explorer().nodes, first_node_line)
|
||||
local iter_start, iter_end = first_node_line, #nodes_by_line
|
||||
|
||||
for line = iter_start, iter_end, 1 do
|
||||
if nodes_by_line[line] == node then
|
||||
return line
|
||||
end
|
||||
end
|
||||
|
||||
return -1
|
||||
end
|
||||
|
||||
-- get the node in the tree state depending on the absolute path of the node
|
||||
-- (grouped or hidden too)
|
||||
---@param path string
|
||||
|
||||
Reference in New Issue
Block a user