commit b2bbed41fad5fa494493386fe3c1a76eed201db2
parent 88946e9832dcb35e13c811f3026f47112b79951c
Author: Juan Ibiapina <juanibiapina@gmail.com>
Date: Sat, 5 Mar 2016 14:20:04 -0300
Add option to disable collapsing of diretory names
Diffstat:
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/doc/NERD_tree.txt b/doc/NERD_tree.txt
@@ -668,14 +668,18 @@ NERD tree. These options should be set in your vimrc.
|'NERDTreeWinSize'| Sets the window size when the NERD tree is
opened.
-|'NERDTreeMinimalUI'| Disables display of the 'Bookmarks' label and
+|'NERDTreeMinimalUI'| Disables display of the 'Bookmarks' label and
'Press ? for help' text.
+|'NERDTreeCascadeSingleChildDir'|
+ Collapses on the same line directories that
+ have only one child directory.
+
|'NERDTreeCascadeOpenSingleChildDir'|
Cascade open while selected directory has only
one child that also is a directory.
-|'NERDTreeAutoDeleteBuffer'| Tells the NERD tree to automatically remove
+|'NERDTreeAutoDeleteBuffer'| Tells the NERD tree to automatically remove
a buffer when a file is being deleted or renamed
via a context menu command.
@@ -984,7 +988,18 @@ of the following lines to set this option: >
<
------------------------------------------------------------------------------
- *'NERDTreeCascadeOpenSingleChildDir'*
+ *'NERDTreeCascadeSingleChildDir'*
+Values: 0 or 1
+Default: 1.
+
+When displaying dir nodes, this option tells NERDTree to collapse dirs that
+have only one child. Use one of the follow lines to set this option: >
+ let NERDTreeCascadeSingleChildDir=0
+ let NERDTreeCascadeSingleChildDir=1
+<
+
+------------------------------------------------------------------------------
+ *'NERDTreeCascadeOpenSingleChildDir'*
Values: 0 or 1
Default: 1.
@@ -998,7 +1013,7 @@ useful for Java projects. Use one of the follow lines to set this option: >
<
------------------------------------------------------------------------------
- *'NERDTreeAutoDeleteBuffer'*
+ *'NERDTreeAutoDeleteBuffer'*
Values: 0 or 1
Default: 0.
diff --git a/lib/nerdtree/tree_dir_node.vim b/lib/nerdtree/tree_dir_node.vim
@@ -250,6 +250,10 @@ endfunction
"FUNCTION: TreeDirNode.isCascadable() {{{1
"true if this dir has only one visible child - which is also a dir
function! s:TreeDirNode.isCascadable()
+ if g:NERDTreeCascadeSingleChildDir == 0
+ return 0
+ endif
+
let c = self.getVisibleChildren()
return len(c) == 1 && c[0].path.isDirectory
endfunction
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -74,6 +74,7 @@ else
call s:initVariable("g:NERDTreeDirArrowCollapsible", "~")
endif
call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1)
+call s:initVariable("g:NERDTreeCascadeSingleChildDir", 1)
if !exists("g:NERDTreeSortOrder")
let g:NERDTreeSortOrder = ['\/$', '*', '\.swp$', '\.bak$', '\~$']