From be184bd94e558b302461b359d02ed1b01f7154a1 Mon Sep 17 00:00:00 2001 From: kiyan Date: Fri, 28 May 2021 09:13:37 +0200 Subject: [PATCH] feat: reset old window when leaving the tree --- lua/nvim-tree.lua | 14 ++++++++++++++ plugin/tree.vim | 2 ++ 2 files changed, 16 insertions(+) diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 2241f554..62d985f9 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -194,6 +194,20 @@ function M.reset_highlight() renderer.render_hl(view.View.bufnr) end +local old_win = nil + +function M.save_previous_buf() + vim.cmd "wincmd p" + old_win = api.nvim_get_current_win() + vim.cmd "wincmd p" +end + +function M.set_previous_buf() + if old_win then + api.nvim_set_current_win(old_win) + end +end + view.setup() colors.setup() vim.defer_fn(M.on_enter, 1) diff --git a/plugin/tree.vim b/plugin/tree.vim index 31b291af..7867ad10 100644 --- a/plugin/tree.vim +++ b/plugin/tree.vim @@ -17,6 +17,8 @@ augroup NvimTree au User LspDiagnosticsChanged lua require'nvim-tree.diagnostics'.update() endif au BufEnter * lua require'nvim-tree'.buf_enter() + au BufEnter NvimTree lua require'nvim-tree'.save_previous_buf() + au BufLeave NvimTree lua require'nvim-tree'.set_previous_buf() if get(g:, 'nvim_tree_auto_close') == 1 au WinClosed * lua require'nvim-tree'.on_leave() endif