diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 0a04ab5e..053ceb23 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -311,15 +311,17 @@ function M.open_on_directory() return end - if view.win_open() and #api.nvim_list_wins() > 1 then - view.close() - end - M.hijack_current_window() - vim.api.nvim_buf_delete(buf, { force = true }) + view.close() + lib.change_dir(bufname) - lib.set_index_and_redraw(bufname) + M.hijack_current_window() + + view.open() view.focus() view.replace_window() + + lib.set_index_and_redraw(bufname) + vim.api.nvim_buf_delete(buf, { force = true }) end function M.reset_highlight() diff --git a/lua/nvim-tree/view.lua b/lua/nvim-tree/view.lua index 40d6481a..dbef4189 100644 --- a/lua/nvim-tree/view.lua +++ b/lua/nvim-tree/view.lua @@ -300,7 +300,9 @@ function M.close() vim.cmd "new" end end - a.nvim_win_hide(M.get_winnr()) + if #a.nvim_list_wins() > 1 then + a.nvim_win_hide(M.get_winnr()) + end end --- Returns the window number for nvim-tree within the tabpage specified