fix: correct index in movement actions (#1058)

This commit is contained in:
Andreas Bissinger
2022-03-09 09:03:22 +01:00
committed by GitHub
parent 08c57660a7
commit d5a12ac9db
5 changed files with 13 additions and 15 deletions

View File

@@ -4,15 +4,6 @@ local renderer = require "nvim-tree.renderer"
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 = {}
function M.fn(fname)
@@ -21,7 +12,7 @@ function M.fn(fname)
end
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 function iterate_nodes(nodes)

View File

@@ -56,7 +56,9 @@ function M.parent_node(should_close)
parent.open = false
altered_tree = true
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 }
end
@@ -107,6 +109,9 @@ function M.sibling(direction)
local target_node = parent.nodes[index]
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 }
end
end

View File

@@ -77,7 +77,7 @@ function M.fn()
end
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
end

View File

@@ -295,9 +295,7 @@ local function update_draw_data(tree, depth, markers)
["readme.md"] = true,
}
local hide_root_folder = view.View.hide_root_folder
if tree.cwd and tree.cwd ~= "/" and not hide_root_folder then
if view.is_root_folder_visible(tree) then
local root_name = utils.path_join {
utils.path_remove_trailing(vim.fn.fnamemodify(tree.cwd, root_folder_modifier)),
"..",

View File

@@ -342,6 +342,10 @@ function M._prevent_buffer_override()
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 = {
width = 30,
height = 30,