nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit e51a40c0d8294131510b77c89ccaa348a59bc5a7
parent 53bc77644c8149ae995918b9d6f544cc31813346
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Wed, 11 Jan 2012 13:44:19 +0000

make the mouse work as expected with NERDTreeMouseMode

This was broken at some point - fix it.

Diffstat:
Mplugin/NERD_tree.vim | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -151,7 +151,7 @@ let s:NERDTreeBufName = 'NERD_tree_'
 let s:tree_wid = 2
 
 if g:NERDTreeDirArrows
-    let s:tree_markup_reg = '^ *\([▾▸] \)\?'
+    let s:tree_markup_reg = '^\([▾▸] \| \+[▾▸] \| \+\)'
 else
     let s:tree_markup_reg = '^[ `|]*[\-+~]'
 endif
@@ -4058,8 +4058,8 @@ function! s:handleLeftClick()
         endfor
 
         if currentNode.path.isDirectory
-            if startToCur =~# s:tree_markup_reg . '$' && startToCur =~# '[+~▾▸]$'
-                call s:activateNode(currentNode)
+            if startToCur =~# s:tree_markup_reg && startToCur =~# '[+~▾▸] \?$'
+                call currentNode.activate()
                 return
             endif
         endif
@@ -4067,7 +4067,11 @@ function! s:handleLeftClick()
         if (g:NERDTreeMouseMode ==# 2 && currentNode.path.isDirectory) || g:NERDTreeMouseMode ==# 3
             let char = strpart(startToCur, strlen(startToCur)-1, 1)
             if char !~# s:tree_markup_reg
-                call s:activateNode(currentNode)
+                if currentNode.path.isDirectory
+                    call currentNode.activate()
+                else
+                    call currentNode.activate({'reuse': 1, 'where': 'p'})
+                endif
                 return
             endif
         endif