mirror of
https://github.com/preservim/nerdtree.git
synced 2025-11-08 19:33:50 -05:00
Merge branch 'disable-cascade' of git://github.com/juanibiapina/nerdtree into juanibiapina-disable-cascade
This commit is contained in:
@@ -671,6 +671,10 @@ NERD tree. These options should be set in your vimrc.
|
|||||||
|'NERDTreeMinimalUI'| Disables display of the 'Bookmarks' label and
|
|'NERDTreeMinimalUI'| Disables display of the 'Bookmarks' label and
|
||||||
'Press ? for help' text.
|
'Press ? for help' text.
|
||||||
|
|
||||||
|
|'NERDTreeCascadeSingleChildDir'|
|
||||||
|
Collapses on the same line directories that
|
||||||
|
have only one child directory.
|
||||||
|
|
||||||
|'NERDTreeCascadeOpenSingleChildDir'|
|
|'NERDTreeCascadeOpenSingleChildDir'|
|
||||||
Cascade open while selected directory has only
|
Cascade open while selected directory has only
|
||||||
one child that also is a directory.
|
one child that also is a directory.
|
||||||
@@ -986,6 +990,17 @@ of the following lines to set this option: >
|
|||||||
let NERDTreeMinimalUI=1
|
let NERDTreeMinimalUI=1
|
||||||
<
|
<
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
*'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'*
|
*'NERDTreeCascadeOpenSingleChildDir'*
|
||||||
Values: 0 or 1
|
Values: 0 or 1
|
||||||
|
|||||||
@@ -117,28 +117,14 @@ endfunction
|
|||||||
"FUNCTION: TreeDirNode.getCascade() {{{1
|
"FUNCTION: TreeDirNode.getCascade() {{{1
|
||||||
"Return an array of dir nodes (starting from self) that can be cascade opened.
|
"Return an array of dir nodes (starting from self) that can be cascade opened.
|
||||||
function! s:TreeDirNode.getCascade()
|
function! s:TreeDirNode.getCascade()
|
||||||
|
if !self.isCascadable()
|
||||||
let rv = [self]
|
return [self]
|
||||||
let node = self
|
|
||||||
|
|
||||||
while 1
|
|
||||||
let vc = node.getVisibleChildren()
|
|
||||||
if len(vc) != 1
|
|
||||||
break
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let vc = self.getVisibleChildren()
|
||||||
let visChild = vc[0]
|
let visChild = vc[0]
|
||||||
|
|
||||||
"TODO: optimize
|
return [self] + visChild.getCascade()
|
||||||
if !visChild.path.isDirectory
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
|
|
||||||
call add(rv, visChild)
|
|
||||||
let node = visChild
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
return rv
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
"FUNCTION: TreeDirNode.getChildCount() {{{1
|
"FUNCTION: TreeDirNode.getChildCount() {{{1
|
||||||
@@ -264,6 +250,10 @@ endfunction
|
|||||||
"FUNCTION: TreeDirNode.isCascadable() {{{1
|
"FUNCTION: TreeDirNode.isCascadable() {{{1
|
||||||
"true if this dir has only one visible child - which is also a dir
|
"true if this dir has only one visible child - which is also a dir
|
||||||
function! s:TreeDirNode.isCascadable()
|
function! s:TreeDirNode.isCascadable()
|
||||||
|
if g:NERDTreeCascadeSingleChildDir == 0
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
|
||||||
let c = self.getVisibleChildren()
|
let c = self.getVisibleChildren()
|
||||||
return len(c) == 1 && c[0].path.isDirectory
|
return len(c) == 1 && c[0].path.isDirectory
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ else
|
|||||||
call s:initVariable("g:NERDTreeDirArrowCollapsible", "~")
|
call s:initVariable("g:NERDTreeDirArrowCollapsible", "~")
|
||||||
endif
|
endif
|
||||||
call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1)
|
call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1)
|
||||||
|
call s:initVariable("g:NERDTreeCascadeSingleChildDir", 1)
|
||||||
|
|
||||||
if !exists("g:NERDTreeSortOrder")
|
if !exists("g:NERDTreeSortOrder")
|
||||||
let g:NERDTreeSortOrder = ['\/$', '*', '\.swp$', '\.bak$', '\~$']
|
let g:NERDTreeSortOrder = ['\/$', '*', '\.swp$', '\.bak$', '\~$']
|
||||||
|
|||||||
Reference in New Issue
Block a user