remove NERDTreeDirArrows option

Use +/~ for windows - which seems to not have the arrow chars in its
default font. TBH I don't really understand this.

Inprove the UI indent matching so that it should handle any combo of
open/close symbol lengths e.g. the fancy arrows are 3 bytes each,
whereas +/~ are 1 byte each.
This commit is contained in:
Martin Grenfell 2015-11-25 23:29:00 +00:00
parent fb15cfbf45
commit 677a83b2b6
3 changed files with 13 additions and 26 deletions

View File

@ -671,9 +671,6 @@ 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.
|'NERDTreeDirArrows'| Tells the NERD tree to use arrows instead of
+ ~ chars when displaying directories.
|'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,19 +983,6 @@ of the following lines to set this option: >
let NERDTreeMinimalUI=1 let NERDTreeMinimalUI=1
< <
------------------------------------------------------------------------------
*'NERDTreeDirArrows'*
Values: 0 or 1
Default: 0.
This option is used to change the default look of directory nodes displayed in
the tree. When set to 0 it shows old-school bars (|), + and ~ chars. If set to
1 it shows right and down arrows. Use one of the follow lines to set this
option: >
let NERDTreeDirArrows=0
let NERDTreeDirArrows=1
<
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*'NERDTreeCascadeOpenSingleChildDir'* *'NERDTreeCascadeOpenSingleChildDir'*
Values: 0 or 1 Values: 0 or 1

View File

@ -287,13 +287,11 @@ endfunction
"FUNCTION: s:UI._indentLevelFor(line) {{{1 "FUNCTION: s:UI._indentLevelFor(line) {{{1
function! s:UI._indentLevelFor(line) function! s:UI._indentLevelFor(line)
let level = match(a:line, '[^ \-+~'.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsible.'`|]') / s:UI.IndentWid() "have to do this work around because match() returns bytes, not chars
" check if line includes arrows let numLeadBytes = match(a:line, '\M\[^ '.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsible.']')
if match(a:line, '['.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsible.']') > -1 let leadChars = strchars(a:line[0:numLeadBytes-1])
" decrement level as arrow uses 3 ascii chars
let level = level - 1 return leadChars / s:UI.IndentWid()
endif
return level
endfunction endfunction
"FUNCTION: s:UI.IndentWid() {{{1 "FUNCTION: s:UI.IndentWid() {{{1

View File

@ -65,9 +65,14 @@ call s:initVariable("g:NERDTreeShowFiles", 1)
call s:initVariable("g:NERDTreeShowHidden", 0) call s:initVariable("g:NERDTreeShowHidden", 0)
call s:initVariable("g:NERDTreeShowLineNumbers", 0) call s:initVariable("g:NERDTreeShowLineNumbers", 0)
call s:initVariable("g:NERDTreeSortDirs", 1) call s:initVariable("g:NERDTreeSortDirs", 1)
call s:initVariable("g:NERDTreeDirArrows", !nerdtree#runningWindows())
call s:initVariable("g:NERDTreeDirArrowExpandable", "▸") if !nerdtree#runningWindows()
call s:initVariable("g:NERDTreeDirArrowCollapsible", "▾") call s:initVariable("g:NERDTreeDirArrowExpandable", "▸")
call s:initVariable("g:NERDTreeDirArrowCollapsible", "▾")
else
call s:initVariable("g:NERDTreeDirArrowExpandable", "+")
call s:initVariable("g:NERDTreeDirArrowCollapsible", "~")
endif
call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1) call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1)
if !exists("g:NERDTreeSortOrder") if !exists("g:NERDTreeSortOrder")