nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit bc2a628a100ebab05afdf7aa970f4428e4aca16a
parent 6518d1eb4c57fffb0e91506b208e9ba1a40a9e8c
Author: Martin Grenfell <martin_grenfell@msn.com>
Date:   Wed, 22 Jul 2009 00:16:46 +1200

move the ! keymap into a plugin

Diffstat:
Aftplugin/nerdtree_exec_menuitem.vim | 40++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+), 0 deletions(-)
diff --git a/ftplugin/nerdtree_exec_menuitem.vim b/ftplugin/nerdtree_exec_menuitem.vim
@@ -0,0 +1,40 @@
+" ============================================================================
+" File:        nerdtree_fs_menu.vim
+" Description: plugin for NERD Tree that provides an execute file menu item
+" Maintainer:  Martin Grenfell <martin_grenfell at msn dot com>
+" Last Change: 22 July, 2009
+" License:     This program is free software. It comes without any warranty,
+"              to the extent permitted by applicable law. You can redistribute
+"              it and/or modify it under the terms of the Do What The Fuck You
+"              Want To Public License, Version 2, as published by Sam Hocevar.
+"              See http://sam.zoy.org/wtfpl/COPYING for more details.
+"
+" ============================================================================
+if exists("g:loaded_nerdtree_exec_menuitem")
+    finish
+endif
+let g:loaded_nerdtree_exec_menuitem = 1
+
+call NERDTreeAddMenuItem({
+            \ 'text': '(!) - Execute file',
+            \ 'shortcut': '!',
+            \ 'callback': 'NERDTreeExecFile',
+            \ 'isActiveCallback': 'NERDTreeExecFileActive' })
+
+function! NERDTreeExecFileActive()
+    let node = g:NERDTreeFileNode.GetSelected()
+    return !node.path.isDirectory && node.path.isExecutable
+endfunction
+
+function! NERDTreeExecFile()
+    let treenode = g:NERDTreeFileNode.GetSelected()
+    echo "Complete the command to execute (add arguments etc): \n\n"
+    let cmd = treenode.path.strForOS(1)
+    let cmd = input(':!', cmd . ' ')
+
+    if cmd != ''
+        exec ':!' . cmd
+    else
+        echo "Aborted"
+    endif
+endfunction