nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 21601d9c3dd97912456ef1b2737bc77bec3e00e6
parent 332a1baeddab4d5fc329426c8e5d638d70c7746e
Author: Martin Grenfell <martin_grenfell@msn.com>
Date:   Sun, 13 Jul 2008 19:49:55 +1200

implement copying nodes for windows

Diffstat:
Mplugin/NERD_tree.vim | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -83,6 +83,7 @@ let s:running_windows = has("win16") || has("win32") || has("win64")
 "Note: the space after the command is important
 if s:running_windows
     call s:InitVariable("g:NERDTreeRemoveDirCmd", 'rmdir /s /q ')
+    call s:InitVariable("g:NERDTreeCopyCmd", 'copy /Y ')
 else
     call s:InitVariable("g:NERDTreeRemoveDirCmd", 'rm -rf ')
     call s:InitVariable("g:NERDTreeCopyCmd", 'cp -r ')
@@ -1150,9 +1151,14 @@ function! s:oPath.Copy(dest) dict
         throw "NERDTree.Path.CopyingNotSupported Exception: Copying is not supported on this OS"
     endif
 
-    let dest = s:oPath.WinToUnixPath(a:dest)
+    "let dest = s:oPath.WinToUnixPath(a:dest)
+    let dest = a:dest
 
-    let cmd = g:NERDTreeCopyCmd . " " . self.StrForOS(0) . " " . dest
+    if s:running_windows
+        let cmd = g:NERDTreeCopyCmd . " " . self.StrForOS(1) . " \"" . dest . '"'
+    else
+        let cmd = g:NERDTreeCopyCmd . " " . self.StrForOS(0) . " " . dest
+    endif
     let success = system(cmd)
     if success != 0
         throw "NERDTree.Path Exception: Could not copy ''". self.StrForOS(0) ."'' to: '" . a:dest . "'"
@@ -3002,7 +3008,7 @@ function! s:CopyNode()
     let newNodePath = input("Copy the current node\n" .
                           \ "==========================================================\n" .
                           \ "Enter the new path to copy the node to:                   \n" .
-                          \ "", currentNode.path.Str(0))
+                          \ "", currentNode.path.StrForOS(0))
 
     if newNodePath != ""
         "strip trailing slash