add g:NERDTreeStatusline option

allows the statusline to be customised for the nerd tree window
This commit is contained in:
Martin Grenfell 2009-01-15 14:41:52 +13:00
parent 3a25a594ca
commit 7522cbf4f0
2 changed files with 26 additions and 1 deletions

View File

@ -641,6 +641,8 @@ NERD tree. These options should be set in your vimrc.
|'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in |'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in
the tree. the tree.
|'NERDTreeStatusline'| Set a statusline for NERD tree windows.
|'NERDTreeWinPos'| Tells the script where to put the NERD tree |'NERDTreeWinPos'| Tells the script where to put the NERD tree
window. window.
@ -893,6 +895,20 @@ Other examples: >
3. Dirs will appear first, then ruby and php. Swap files, bak files and vim 3. Dirs will appear first, then ruby and php. Swap files, bak files and vim
backup files will appear last with everything else preceding them. backup files will appear last with everything else preceding them.
------------------------------------------------------------------------------
*'NERDTreeStatusline'*
Values: Any valid statusline setting.
Default: %{b:NERDTreeRoot.path.strForOS(0)}
Tells the script what to use as the |'statusline'| setting for NERD tree
windows.
Note that the statusline is set using |:let-&| not |:set| so escaping spaces
isn't necessary.
Setting this option to -1 will will deactivate it so that your global
statusline setting is used instead.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*'NERDTreeWinPos'* *'NERDTreeWinPos'*
Values: "left" or "right" Values: "left" or "right"

View File

@ -79,6 +79,7 @@ endif
"once here "once here
let s:NERDTreeSortStarIndex = index(g:NERDTreeSortOrder, '*') let s:NERDTreeSortStarIndex = index(g:NERDTreeSortOrder, '*')
call s:initVariable("g:NERDTreeStatusline", "%{b:NERDTreeRoot.path.strForOS(0)}")
call s:initVariable("g:NERDTreeWinPos", "left") call s:initVariable("g:NERDTreeWinPos", "left")
call s:initVariable("g:NERDTreeWinSize", 31) call s:initVariable("g:NERDTreeWinSize", 31)
@ -2142,6 +2143,8 @@ function! s:initNerdTreeInPlace(dir)
setlocal cursorline setlocal cursorline
endif endif
call s:setupStatusline()
let b:treeShowHelp = 0 let b:treeShowHelp = 0
let b:NERDTreeIgnoreEnabled = 1 let b:NERDTreeIgnoreEnabled = 1
let b:NERDTreeShowFiles = g:NERDTreeShowFiles let b:NERDTreeShowFiles = g:NERDTreeShowFiles
@ -2378,7 +2381,7 @@ function! s:createTreeWin()
setlocal cursorline setlocal cursorline
endif endif
call s:setupStatusline()
call s:bindMappings() call s:bindMappings()
setfiletype nerdtree setfiletype nerdtree
@ -2847,6 +2850,12 @@ function! s:saveScreenState()
endtry endtry
endfunction endfunction
"FUNCTION: s:setupStatusline() {{{2
function! s:setupStatusline()
if g:NERDTreeStatusline != -1
let &l:statusline = g:NERDTreeStatusline
endif
endfunction
"FUNCTION: s:setupSyntaxHighlighting() {{{2 "FUNCTION: s:setupSyntaxHighlighting() {{{2
function! s:setupSyntaxHighlighting() function! s:setupSyntaxHighlighting()
"treeFlags are syntax items that should be invisible, but give clues as to "treeFlags are syntax items that should be invisible, but give clues as to