commit eee431dbd44111c858c6d33ffd366cae1f17f8b3
parent 48df6bfd6eec34ccf00ad7e01af26864ad75f62f
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date: Fri, 21 Oct 2016 14:47:09 +0100
really fix the previous buffer issue when closing a tree win
So :bprev was failing to jump back to the right buffer. I dont fully
understand this yet, but I'm fairly sure this is because there is a
magic <directory> buffer that we delete when creating a wintree :-/
Anyway, we are explicitly storing the prev buffer again - and updating
it when reusing treewins. It's worky, but there may be a superior way...
Diffstat:
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/autoload/nerdtree.vim b/autoload/nerdtree.vim
@@ -37,6 +37,7 @@ function! s:reuseWin(dir) abort
endif
if nt.isWinTree() && nt.root.path.equals(path)
+ call nt.setPreviousBuf(bufnr("#"))
exec "buffer " . i
return 1
endif
diff --git a/lib/nerdtree/nerdtree.vim b/lib/nerdtree/nerdtree.vim
@@ -186,6 +186,10 @@ function! s:NERDTree.previousBuf()
return self._previousBuf
endfunction
+function! s:NERDTree.setPreviousBuf(bnum)
+ let self._previousBuf = a:bnum
+endfunction
+
"FUNCTION: s:NERDTree.render() {{{1
"A convenience function - since this is called often
function! s:NERDTree.render()