truncate the root line if its too long

and by "too long" i mean wider than the nerdtree window
This commit is contained in:
marty
2009-11-05 13:49:36 +13:00
parent 08bc9870bc
commit a713a86f06

View File

@@ -985,7 +985,7 @@ endfunction
"gets the line number of the root node "gets the line number of the root node
function! s:TreeFileNode.GetRootLineNum() function! s:TreeFileNode.GetRootLineNum()
let rootLine = 1 let rootLine = 1
while getline(rootLine) !~ '^/' while getline(rootLine) !~ '^\(/\|<\)'
let rootLine = rootLine + 1 let rootLine = rootLine + 1
endwhile endwhile
return rootLine return rootLine
@@ -2898,8 +2898,10 @@ endfunction
function! s:getPath(ln) function! s:getPath(ln)
let line = getline(a:ln) let line = getline(a:ln)
let rootLine = s:TreeFileNode.GetRootLineNum()
"check to see if we have the root node "check to see if we have the root node
if line =~ '^\/' if a:ln == rootLine
return b:NERDTreeRoot.path return b:NERDTreeRoot.path
endif endif
@@ -2923,7 +2925,6 @@ function! s:getPath(ln)
let curFile = substitute(curFile, '/\?$', '/', "") let curFile = substitute(curFile, '/\?$', '/', "")
endif endif
let dir = "" let dir = ""
let lnum = a:ln let lnum = a:ln
while lnum > 0 while lnum > 0
@@ -2932,8 +2933,8 @@ function! s:getPath(ln)
let curLineStripped = s:stripMarkupFromLine(curLine, 1) let curLineStripped = s:stripMarkupFromLine(curLine, 1)
"have we reached the top of the tree? "have we reached the top of the tree?
if curLine =~ '^/' if lnum == rootLine
let dir = substitute (curLine, ' *$', "", "") . dir let dir = b:NERDTreeRoot.path.str({'format': 'UI'}) . dir
break break
endif endif
if curLineStripped =~ '/$' if curLineStripped =~ '/$'
@@ -3132,7 +3133,13 @@ function! s:renderView()
call cursor(line(".")+1, col(".")) call cursor(line(".")+1, col("."))
"draw the header line "draw the header line
call setline(line(".")+1, b:NERDTreeRoot.path.str({'format': 'UI'})) let header = b:NERDTreeRoot.path.str({'format': 'UI'})
let wid = winwidth(0)
if len(header) > wid
let header = "<" . strpart(header, len(header) - wid + 1)
endif
call setline(line(".")+1, header)
call cursor(line(".")+1, col(".")) call cursor(line(".")+1, col("."))
"draw the tree "draw the tree