Add a "copy path to clipboard" menu option (#1002)
* Add menu item to copy the node's path to the clipboard. It works on Mac. Check Windows later. * Handle case where clipboard is not a compiled feature of Vim. * Change menu text if clipboard is unavailable.
This commit is contained in:
parent
70dc34cb69
commit
12dea6ccb2
@ -37,6 +37,7 @@ endif
|
|||||||
if g:NERDTreePath.CopyingSupported()
|
if g:NERDTreePath.CopyingSupported()
|
||||||
call NERDTreeAddMenuItem({'text': '(c)opy the current node', 'shortcut': 'c', 'callback': 'NERDTreeCopyNode'})
|
call NERDTreeAddMenuItem({'text': '(c)opy the current node', 'shortcut': 'c', 'callback': 'NERDTreeCopyNode'})
|
||||||
endif
|
endif
|
||||||
|
call NERDTreeAddMenuItem({'text': (has("clipboard")?'copy (p)ath to clipboard':'print (p)ath to screen'), 'shortcut': 'p', 'callback': 'NERDTreeCopyPath'})
|
||||||
|
|
||||||
if has("unix") || has("osx")
|
if has("unix") || has("osx")
|
||||||
call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNode'})
|
call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNode'})
|
||||||
@ -364,6 +365,17 @@ function! NERDTreeCopyNode()
|
|||||||
redraw!
|
redraw!
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" FUNCTION: NERDTreeCopyPath() {{{1
|
||||||
|
function! NERDTreeCopyPath()
|
||||||
|
let l:nodePath = g:NERDTreeFileNode.GetSelected().path.str()
|
||||||
|
if has("clipboard")
|
||||||
|
let @* = l:nodePath
|
||||||
|
call nerdtree#echo("The path [" . l:nodePath . "] was copied to your clipboard.")
|
||||||
|
else
|
||||||
|
call nerdtree#echo("The full path is: " . l:nodePath)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
" FUNCTION: NERDTreeQuickLook() {{{1
|
" FUNCTION: NERDTreeQuickLook() {{{1
|
||||||
function! NERDTreeQuickLook()
|
function! NERDTreeQuickLook()
|
||||||
let treenode = g:NERDTreeFileNode.GetSelected()
|
let treenode = g:NERDTreeFileNode.GetSelected()
|
||||||
|
Loading…
Reference in New Issue
Block a user