nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit a520080cc31c2d669d49c1d981f40c40ea01d887
parent b74708613721527c25ce095085cb555fc1398548
Author: Martin Grenfell <martin_grenfell@msn.com>
Date:   Tue,  3 Jun 2008 22:01:41 +1200

put cursor on new node after copying

Diffstat:
Mplugin/NERD_tree.vim | 12+++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -169,10 +169,11 @@ endfunction
 function! s:oTreeFileNode.Copy(dest) dict
     call self.path.Copy(a:dest)
     let newPath = s:oPath.New(a:dest)
-    let parentNode = t:NERDTreeRoot.FindNode(newPath.GetParent())
-    if !empty(parentNode)
-        call parentNode.Refresh()
+    let parent = t:NERDTreeRoot.FindNode(newPath.GetParent())
+    if !empty(parent)
+        call parent.Refresh()
     endif
+    return parent.FindNode(newPath)
 endfunction
 
 "FUNCTION: oTreeFileNode.Delete {{{3 
@@ -2507,12 +2508,13 @@ function! s:CopyNode()
 
         if confirmed
             try
-                call currentNode.Copy(newNodePath)
+                let newNode = currentNode.Copy(newNodePath)
+                call s:RenderView()
+                call s:PutCursorOnNode(newNode, 0)
             catch /^NERDTree/
                 call s:EchoWarning("Could not copy node")
             endtry
         endif
-        call s:RenderView()
     else
         call s:Echo("Copy aborted.")
     endif