nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 02f1d828d911a9eca8ca3899d71332e66a8cb333
parent b528910e7a62f12ead1c345a2759da41edc84ddb
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Wed, 21 Dec 2011 06:27:25 -0800

Merge pull request #88 from andersonfreitas/master

Added new options in the file system menu
Diffstat:
Mnerdtree_plugin/fs_menu.vim | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)
diff --git a/nerdtree_plugin/fs_menu.vim b/nerdtree_plugin/fs_menu.vim
@@ -18,6 +18,13 @@ let g:loaded_nerdtree_fs_menu = 1
 call NERDTreeAddMenuItem({'text': '(a)dd a childnode', 'shortcut': 'a', 'callback': 'NERDTreeAddNode'})
 call NERDTreeAddMenuItem({'text': '(m)ove the current node', 'shortcut': 'm', 'callback': 'NERDTreeMoveNode'})
 call NERDTreeAddMenuItem({'text': '(d)elete the current node', 'shortcut': 'd', 'callback': 'NERDTreeDeleteNode'})
+
+if has("gui_mac") || has("gui_macvim") 
+    call NERDTreeAddMenuItem({'text': '(r)eveal in Finder the current node', 'shortcut': 'r', 'callback': 'NERDTreeRevealInFinder'})
+    call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFile'})
+    call NERDTreeAddMenuItem({'text': '(q)uicklook the current node', 'shortcut': 'q', 'callback': 'NERDTreeQuickLook'})
+endif
+
 if g:NERDTreePath.CopyingSupported()
     call NERDTreeAddMenuItem({'text': '(c)copy the current node', 'shortcut': 'c', 'callback': 'NERDTreeCopyNode'})
 endif
@@ -193,4 +200,25 @@ function! NERDTreeCopyNode()
     redraw
 endfunction
 
+function! NERDTreeQuickLook()
+    let treenode = g:NERDTreeFileNode.GetSelected()
+    if treenode != {}
+        call system("qlmanage -p 2>/dev/null '" . treenode.path.str() . "'")
+    endif
+endfunction
+
+function! NERDTreeRevealInFinder()
+    let treenode = g:NERDTreeFileNode.GetSelected()
+    if treenode != {}
+        let x = system("open -R '" . treenode.path.str() . "'")
+    endif
+endfunction
+
+function! NERDTreeExecuteFile()
+    let treenode = g:NERDTreeFileNode.GetSelected()
+    if treenode != {}
+        let x = system("open '" . treenode.path.str() . "'")
+    endif
+endfunction
+
 " vim: set sw=4 sts=4 et fdm=marker: