commit cd55e2d5224019e889e4bf4cca2376566a36526b
parent 3d2bf2d9acd8d3db24f3b60c125161961171a2c2
Author: Martin Grenfell <martin_grenfell@msn.com>
Date: Fri, 9 Jan 2009 15:56:43 +1300
ensure all secondary nerd tree buf names are unique
Diffstat:
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -1982,8 +1982,7 @@ endfunction " >>>
"FUNCTION: s:checkForBrowse(dir) {{{2
"inits a secondary nerd tree in the current buffer if appropriate
function! s:checkForBrowse(dir)
- if !exists("b:NERDTreeProcessed") && a:dir != '' && isdirectory(a:dir)
- let b:NERDTreeProcessed = 1
+ if a:dir != '' && isdirectory(a:dir)
call s:initNerdTreeInPlace(a:dir)
endif
endfunction
@@ -2066,7 +2065,7 @@ function! s:initNerdTree(name)
call b:NERDTreeRoot.putCursorHere(0, 0)
endfunction
-"FUNCTION: s:initNerdTreeInPlace(name) {{{2
+"FUNCTION: s:initNerdTreeInPlace(dir) {{{2
function! s:initNerdTreeInPlace(dir)
try
let path = s:Path.New(a:dir)
@@ -2074,6 +2073,11 @@ function! s:initNerdTreeInPlace(dir)
call s:echo("Invalid directory name:" . a:name)
return
endtry
+
+ "we need a unique name for each secondary tree buffer to ensure they are
+ "all independent
+ exec "silent edit " . s:nextBufferName()
+
let b:NERDTreeRoot = s:TreeDirNode.New(path)
call b:NERDTreeRoot.open()
@@ -2167,6 +2171,13 @@ function! s:initNerdTreeMirror()
call s:renderView()
endif
endfunction
+" FUNCTION: s:nextBufferName() {{{2
+" returns the buffer name for the next nerd tree
+function! s:nextBufferName()
+ let name = s:NERDTreeBufName . s:next_buffer_number
+ let s:next_buffer_number += 1
+ return name
+endfunction
" FUNCTION: s:tabpagevar(tabnr, var) {{{2
function! s:tabpagevar(tabnr, var)
let currentTab = tabpagenr()