diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index fd8ced4f..1bb5ab20 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -39,7 +39,7 @@ function M.open() end function M.tab_change() - if not view.win_open() then + if not view.win_open() and view.win_open({ any_tabpage = true }) then view.open() end end diff --git a/lua/nvim-tree/view.lua b/lua/nvim-tree/view.lua index 8762dd3e..0d0980bc 100644 --- a/lua/nvim-tree/view.lua +++ b/lua/nvim-tree/view.lua @@ -163,8 +163,17 @@ function M._prevent_buffer_override() end) end -function M.win_open() - return M.get_winnr() ~= nil and a.nvim_win_is_valid(M.get_winnr()) +function M.win_open(opts) + if opts and opts.any_tabpage then + for _, v in pairs(M.View.tabpages) do + if a.nvim_win_is_valid(v) then + return true + end + end + return false + else + return M.get_winnr() ~= nil and a.nvim_win_is_valid(M.get_winnr()) + end end function M.set_cursor(opts)