Create nested parent directories as needed

Allows the user to create or copy a nested node
in a single step with ma or mc, recursively
creating nested parent directories if needed, and
without throwing any errors if they already exist.

[Finishes #163, #34]
This commit is contained in:
Danielle Sucher
2013-10-08 00:25:27 -04:00
parent b0bb781fc7
commit eacd5d72ec
2 changed files with 25 additions and 2 deletions

View File

@@ -114,7 +114,10 @@ function! NERDTreeAddNode()
let parentNode = b:NERDTreeRoot.findNode(newPath.getParent())
let newTreeNode = g:NERDTreeFileNode.New(newPath)
if parentNode.isOpen || !empty(parentNode.children)
if empty(parentNode)
call b:NERDTreeRoot.refresh()
call nerdtree#renderView()
elseif parentNode.isOpen || !empty(parentNode.children)
call parentNode.addChild(newTreeNode, 1)
call NERDTreeRender()
call newTreeNode.putCursorHere(1, 0)
@@ -224,7 +227,10 @@ function! NERDTreeCopyNode()
if confirmed
try
let newNode = currentNode.copy(newNodePath)
if !empty(newNode)
if empty(newNode)
call b:NERDTreeRoot.refresh()
call nerdtree#renderView()
else
call NERDTreeRender()
call newNode.putCursorHere(0, 0)
endif