fix: correct index in movement actions (#1058)
This commit is contained in:
committed by
GitHub
parent
08c57660a7
commit
d5a12ac9db
@@ -4,15 +4,6 @@ local renderer = require "nvim-tree.renderer"
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local function get_index_offset()
|
|
||||||
local hide_root_folder = view.View.hide_root_folder
|
|
||||||
if TreeExplorer.cwd == "/" or hide_root_folder then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local running = {}
|
local running = {}
|
||||||
|
|
||||||
function M.fn(fname)
|
function M.fn(fname)
|
||||||
@@ -21,7 +12,7 @@ function M.fn(fname)
|
|||||||
end
|
end
|
||||||
running[fname] = true
|
running[fname] = true
|
||||||
|
|
||||||
local i = get_index_offset()
|
local i = view.is_root_folder_visible(TreeExplorer) and 1 or 0
|
||||||
local tree_altered = false
|
local tree_altered = false
|
||||||
|
|
||||||
local function iterate_nodes(nodes)
|
local function iterate_nodes(nodes)
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ function M.parent_node(should_close)
|
|||||||
parent.open = false
|
parent.open = false
|
||||||
altered_tree = true
|
altered_tree = true
|
||||||
end
|
end
|
||||||
line = view.View.hide_root_folder and line - 1 or line
|
if not view.is_root_folder_visible(TreeExplorer) then
|
||||||
|
line = line - 1
|
||||||
|
end
|
||||||
view.set_cursor { line, 0 }
|
view.set_cursor { line, 0 }
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -107,6 +109,9 @@ function M.sibling(direction)
|
|||||||
local target_node = parent.nodes[index]
|
local target_node = parent.nodes[index]
|
||||||
|
|
||||||
line, _ = get_line_from_node(target_node)(TreeExplorer.nodes, true)
|
line, _ = get_line_from_node(target_node)(TreeExplorer.nodes, true)
|
||||||
|
if not view.is_root_folder_visible(TreeExplorer) then
|
||||||
|
line = line - 1
|
||||||
|
end
|
||||||
view.set_cursor { line, 0 }
|
view.set_cursor { line, 0 }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ function M.fn()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if found_something and view.is_visible() then
|
if found_something and view.is_visible() then
|
||||||
if TreeExplorer.cwd ~= "/" and not view.View.hide_root_folder then
|
if view.is_root_folder_visible(TreeExplorer) then
|
||||||
index = index + 1
|
index = index + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -295,9 +295,7 @@ local function update_draw_data(tree, depth, markers)
|
|||||||
["readme.md"] = true,
|
["readme.md"] = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
local hide_root_folder = view.View.hide_root_folder
|
if view.is_root_folder_visible(tree) then
|
||||||
|
|
||||||
if tree.cwd and tree.cwd ~= "/" and not hide_root_folder then
|
|
||||||
local root_name = utils.path_join {
|
local root_name = utils.path_join {
|
||||||
utils.path_remove_trailing(vim.fn.fnamemodify(tree.cwd, root_folder_modifier)),
|
utils.path_remove_trailing(vim.fn.fnamemodify(tree.cwd, root_folder_modifier)),
|
||||||
"..",
|
"..",
|
||||||
|
|||||||
@@ -342,6 +342,10 @@ function M._prevent_buffer_override()
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.is_root_folder_visible(tree)
|
||||||
|
return tree.cwd and tree.cwd ~= "/" and not M.View.hide_root_folder
|
||||||
|
end
|
||||||
|
|
||||||
local DEFAULT_CONFIG = {
|
local DEFAULT_CONFIG = {
|
||||||
width = 30,
|
width = 30,
|
||||||
height = 30,
|
height = 30,
|
||||||
|
|||||||
Reference in New Issue
Block a user