nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit a63c8a2ec8ab03cef906c21f40fad7d00deeba10
parent aca917b4ca18f21f81ae104038cd2eacd505c5ea
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Wed,  4 Jan 2012 00:13:57 +0000

use the keymap api for the mouse mappings

Diffstat:
Mplugin/NERD_tree.vim | 18+++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -509,11 +509,13 @@ endfunction
 "FUNCTION: KeyMap.bind() {{{3
 function! s:KeyMap.bind()
     let mapkey = self.key
-    if mapkey =~ '^[CM]-'
+    if mapkey =~? '^\([CM]-\|middlerelease\|2-leftmouse\|leftrelease\)'
         let mapkey = '<' . mapkey . '>'
     endif
 
-    exec 'nnoremap <buffer> <silent> '. mapkey .' :call <SID>KeyMap_Invoke("'. self.key .'")<cr>'
+    let premap = self.key == "leftrelease" ? " <leftrelease>" : " "
+
+    exec 'nnoremap <buffer> <silent> '. mapkey . premap . ':call <SID>KeyMap_Invoke("'. self.key .'")<cr>'
 endfunction
 
 "FUNCTION: KeyMap.invoke() {{{3
@@ -3667,13 +3669,15 @@ endfunction
 
 "FUNCTION: s:bindMappings() {{{2
 function! s:bindMappings()
-    " set up mappings and commands for this buffer
-    nnoremap <silent> <buffer> <middlerelease> :call <SID>handleMiddleMouse()<cr>
-    nnoremap <silent> <buffer> <leftrelease> <leftrelease>:call <SID>handleLeftClick()<cr>
-    exec "nnoremap <silent> <buffer> <2-leftmouse> :call <SID>KeyMap_Invoke('". g:NERDTreeMapActivateNode ."')<cr>"
-
     let s = '<SNR>' . s:SID() . '_'
 
+    call NERDTreeAddKeyMap({ 'key': 'middlerelease', 'scope': "all", 'callback': s."handleMiddleMouse" })
+    call NERDTreeAddKeyMap({ 'key': 'leftrelease', 'scope': "all", 'callback': s."handleLeftClick" })
+    call NERDTreeAddKeyMap({ 'key': '2-leftmouse', 'scope': "Node", 'callback': s."activateNode" })
+    call NERDTreeAddKeyMap({ 'key': '2-leftmouse', 'scope': "Bookmark", 'callback': s."activateBookmark" })
+    call NERDTreeAddKeyMap({ 'key': '2-leftmouse', 'scope': "all", 'callback': s."activateAll" })
+
+
     call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "Node", 'callback': s."activateNode" })
     call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "Bookmark", 'callback': s."activateBookmark" })
     call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "all", 'callback': s."activateAll" })