From cc47dfd905941fce98b4dd642ae9431de76e2582 Mon Sep 17 00:00:00 2001 From: Andreas Bissinger Date: Tue, 8 Mar 2022 23:47:27 +0100 Subject: [PATCH 1/3] create reusable function --- lua/nvim-tree/actions/find-file.lua | 11 +---------- lua/nvim-tree/actions/search-node.lua | 2 +- lua/nvim-tree/renderer/init.lua | 4 +--- lua/nvim-tree/view.lua | 4 ++++ 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/lua/nvim-tree/actions/find-file.lua b/lua/nvim-tree/actions/find-file.lua index dd928916674..b97850bf0e3 100644 --- a/lua/nvim-tree/actions/find-file.lua +++ b/lua/nvim-tree/actions/find-file.lua @@ -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) diff --git a/lua/nvim-tree/actions/search-node.lua b/lua/nvim-tree/actions/search-node.lua index f0b6ea72b3d..8c0db537586 100644 --- a/lua/nvim-tree/actions/search-node.lua +++ b/lua/nvim-tree/actions/search-node.lua @@ -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 diff --git a/lua/nvim-tree/renderer/init.lua b/lua/nvim-tree/renderer/init.lua index 1f0c6ff8adc..a8241209dcd 100644 --- a/lua/nvim-tree/renderer/init.lua +++ b/lua/nvim-tree/renderer/init.lua @@ -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)), "..", diff --git a/lua/nvim-tree/view.lua b/lua/nvim-tree/view.lua index 182c164cee5..e4ea41a4994 100644 --- a/lua/nvim-tree/view.lua +++ b/lua/nvim-tree/view.lua @@ -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, From 0a9acda3ffc33e74870088319b202b5f2e8455d8 Mon Sep 17 00:00:00 2001 From: Andreas Bissinger Date: Tue, 8 Mar 2022 23:51:59 +0100 Subject: [PATCH 2/3] fix movements index when root folder not visible --- lua/nvim-tree/actions/movements.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/nvim-tree/actions/movements.lua b/lua/nvim-tree/actions/movements.lua index fa3cf0f8a1e..b7a9fa444ef 100644 --- a/lua/nvim-tree/actions/movements.lua +++ b/lua/nvim-tree/actions/movements.lua @@ -107,6 +107,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 From e5f3e90f709618838a4361516fd9f9d00836925c Mon Sep 17 00:00:00 2001 From: Andreas Bissinger Date: Tue, 8 Mar 2022 23:55:31 +0100 Subject: [PATCH 3/3] use correct function --- lua/nvim-tree/actions/movements.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/nvim-tree/actions/movements.lua b/lua/nvim-tree/actions/movements.lua index b7a9fa444ef..71fdbd2342d 100644 --- a/lua/nvim-tree/actions/movements.lua +++ b/lua/nvim-tree/actions/movements.lua @@ -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