nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 2924ab207162ca18cf5844d00b351ade1b5122f6
parent c99312442b0961241eb0de3d6d65893c52f4d9d1
Author: Ɓukasz Adamczak <lukasz@czak.pl>
Date:   Wed, 22 Jun 2016 13:59:49 +0200

Verify we haven't reached root when traversing cascade

Diffstat:
Mautoload/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()
-            let childNodes = parent.getVisibleChildren()
-            if len(childNodes) == 1 && childNodes[0].path.isDirectory
-                let parent = parent.parent
-            else
-                break
-            endif
-        endwhile
         call parent.close()
         call b:NERDTree.render()
         call parent.putCursorHere(0, 0)