nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 901aba632bab6d984a5f651dd859bae8a180e30e
parent ee79ecfb67e4403e54ea59c175ca4d39544395e8
Author: Phil Runninger <PhilRunninger@users.noreply.github.com>
Date:   Wed, 15 Jan 2020 19:55:31 -0500

Merge pull request #1079 from preservim/1078

Prevent overwriting existing files/dirs on node move. (m-m)
Diffstat:
MCHANGELOG.md | 1+
Mnerdtree_plugin/fs_menu.vim | 5+++++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -8,6 +8,7 @@
         - **.PATCH**: Pull Request Title (PR Author) [PR Number](Link to PR)
 -->
 #### 6.4
+- **.4**: Prevent overwriting existing files/dirs on node move. (PhilRunninger) [#1079](https://github.com/preservim/nerdtree/pull/1079)
 - **.3**: Fix regex that finds keyword for minimal menu. (PhilRunninger) [#1075](https://github.com/preservim/nerdtree/pull/1075)
 - **.2**: Lint vimscript, fix errors and warnings, add CI job to review PRs (Caleb Maclennan) [#1071](https://github.com/preservim/nerdtree/pull/1071)
 - **.1**: Ensure backward compatibility. v:t_func is not available before Vim 8.0 (Phil Runninger)
diff --git a/nerdtree_plugin/fs_menu.vim b/nerdtree_plugin/fs_menu.vim
@@ -196,6 +196,11 @@ function! NERDTreeMoveNode()
     let curNode = g:NERDTreeFileNode.GetSelected()
     let prompt = s:inputPrompt('move')
     let newNodePath = input(prompt, curNode.path.str(), 'file')
+    while filereadable(newNodePath)
+        call nerdtree#echoWarning('This destination already exists. Try again.')
+        let newNodePath = input(prompt, curNode.path.str(), 'file')
+    endwhile
+
 
     if newNodePath ==# ''
         call nerdtree#echo('Node Renaming Aborted.')