commit 2e2b649232d6ae4d02d74793e5da0ee08480ad8d parent d280b15ba9388ab93f3401b26877a13fdb8ed816 Author: Martin Grenfell <martin.grenfell@gmail.com> Date: Thu, 23 Jun 2016 13:37:52 +0100 Merge pull request #591 from czak/cascade-close-fix Fix upward traversal when closing a cascade Diffstat:
| M | autoload/nerdtree/ui_glue.vim | | | 16 | ++++++++-------- |
1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/autoload/nerdtree/ui_glue.vim b/autoload/nerdtree/ui_glue.vim @@ -187,17 +187,17 @@ endfunction " closes the parent dir of the current node function! s:closeCurrentDir(node) let parent = a:node.parent + while g:NERDTreeCascadeOpenSingleChildDir && !parent.isRoot() + let childNodes = parent.getVisibleChildren() + if len(childNodes) == 1 && childNodes[0].path.isDirectory + let parent = parent.parent + else + break + endif + endwhile if parent ==# {} || parent.isRoot() call nerdtree#echo("cannot close tree root") else - while g:NERDTreeCascadeOpenSingleChildDir && !parent.parent.isRoot() - if parent.parent.getVisibleChildCount() == 1 - call parent.close() - let parent = parent.parent - else - break - endif - endwhile call parent.close() call b:NERDTree.render() call parent.putCursorHere(0, 0)
