commit dcccd0e532c44196195e352ae43745f47c8615d4
parent af833e3006622705ec669355747b7c241691981a
Author: Min-Young Wu <min.young.wu@gmail.com>
Date: Thu, 15 Dec 2011 15:14:31 -0800
Defaulting bookmark name to file/dir name
Note that for directories, there is a trailing slash
Diffstat:
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/doc/NERD_tree.txt b/doc/NERD_tree.txt
@@ -155,6 +155,8 @@ Note that the following commands are only available in the NERD tree buffer.
:Bookmark <name>
Bookmark the current node as <name>. If there is already a <name>
bookmark, it is overwritten. <name> must not contain spaces.
+ If <name> is not provided, it defaults to the file or directory name.
+ For directories, a trailing slash is present.
:BookmarkToRoot <bookmark>
Make the directory corresponding to <bookmark> the new root. If a treenode
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -3546,7 +3546,7 @@ function! s:bindMappings()
"bind all the user custom maps
call s:KeyMap.BindAll()
- command! -buffer -nargs=1 Bookmark :call <SID>bookmarkNode('<args>')
+ command! -buffer -nargs=? Bookmark :call <SID>bookmarkNode('<args>')
command! -buffer -complete=customlist,s:completeBookmarks -nargs=1 RevealBookmark :call <SID>revealBookmark('<args>')
command! -buffer -complete=customlist,s:completeBookmarks -nargs=1 OpenBookmark :call <SID>openBookmark('<args>')
command! -buffer -complete=customlist,s:completeBookmarks -nargs=* ClearBookmarks call <SID>clearBookmarks('<args>')
@@ -3558,11 +3558,15 @@ endfunction
" FUNCTION: s:bookmarkNode(name) {{{2
" Associate the current node with the given name
-function! s:bookmarkNode(name)
+function! s:bookmarkNode(...)
let currentNode = s:TreeFileNode.GetSelected()
if currentNode != {}
+ let name = a:1
+ if empty(name)
+ let name = currentNode.path.getLastPathComponent(1)
+ endif
try
- call currentNode.bookmark(a:name)
+ call currentNode.bookmark(name)
call s:renderView()
catch /^NERDTree.IllegalBookmarkNameError/
call s:echo("bookmark names must not contain spaces")