fix: do not load cwd on each init call to avoid double rendering at startup when doing vim DIR

This commit is contained in:
kiyan
2021-06-07 20:18:19 +02:00
parent 3196205131
commit 714dee57e5
2 changed files with 7 additions and 3 deletions

View File

@@ -128,10 +128,11 @@ function M.on_enter()
local disable_netrw = vim.g.nvim_tree_disable_netrw or 1
local hijack_netrw = vim.g.nvim_tree_hijack_netrw or 1
if is_dir then
api.nvim_command('lcd '..bufname)
lib.Tree.cwd = vim.fn.expand(bufname)
end
local netrw_disabled = hijack_netrw == 1 or disable_netrw == 1
local should_open = vim.g.nvim_tree_auto_open == 1
and ((is_dir and (hijack_netrw == 1 or disable_netrw == 1)) or bufname == '')
and ((is_dir and netrw_disabled) or bufname == '')
and not vim.tbl_contains(ft_ignore, buftype)
lib.init(should_open, should_open)
end

View File

@@ -25,7 +25,9 @@ M.Tree = {
}
function M.init(with_open, with_reload)
M.Tree.cwd = luv.cwd()
if not M.Tree.cwd then
M.Tree.cwd = luv.cwd()
end
git.git_root(M.Tree.cwd)
populate(M.Tree.entries, M.Tree.cwd)
@@ -411,6 +413,7 @@ function M.change_dir(foldername)
end
vim.cmd('lcd '..foldername)
M.Tree.cwd = foldername
M.Tree.entries = {}
M.init(false, true)
end