diff options
| author | Kumar Damani <damani.kumar@gmail.com> | 2019-04-26 18:49:26 +0000 |
|---|---|---|
| committer | Kumar Damani <damani.kumar@gmail.com> | 2019-04-26 18:49:26 +0000 |
| commit | 5a6ed5fcb3b89d0c2b4e8ba2953c4ba806d4b171 (patch) | |
| tree | 5be0c043b0c8d632e35a8b4ef7e23452b103b94d /vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim | |
| parent | af821092fe78ef159d7cb6536bb006712dc01b9d (diff) | |
added vim dir
Diffstat (limited to 'vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim')
| -rw-r--r-- | vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim b/vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim new file mode 100644 index 0000000..c53650a --- /dev/null +++ b/vim/.vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim @@ -0,0 +1,40 @@ +" ============================================================================ +" File: exec_menuitem.vim +" Description: plugin for NERD Tree that provides an execute file menu item +" Maintainer: Martin Grenfell <martin.grenfell at gmail dot com> +" 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 "==========================================================\n" + echo "Complete the command to execute (add arguments etc):\n" + let cmd = treenode.path.str({'escape': 1}) + let cmd = input(':!', cmd . ' ') + + if cmd != '' + exec ':!' . cmd + else + echo "Aborted" + endif +endfunction |
