diff --git a/lua/nvim-tree/lib.lua b/lua/nvim-tree/lib.lua index c4c799e9..e95e059a 100644 --- a/lua/nvim-tree/lib.lua +++ b/lua/nvim-tree/lib.lua @@ -407,8 +407,11 @@ function M.open_file_in_tab(filename) vim.cmd("tabe " .. vim.fn.fnameescape(filename)) end -function M.change_dir(foldername) - if vim.fn.expand(foldername) == M.Tree.cwd then +function M.change_dir(name) + local changed_win = vim.v.event and vim.v.event.changed_window + local foldername = name == '..' and vim.fn.fnamemodify(M.Tree.cwd, ':h') or name + local no_cwd_change = vim.fn.expand(foldername) == M.Tree.cwd + if changed_win or no_cwd_change then return end