fu! FoldTeXLines(lnum)
if !exists("s:fold")
let s:fold = 0
endif
let line = getline(a:lnum)
if line =~ '^\s*\\htitle'
let s:fold = 1
return s:fold
elseif line =~ '^\s*\\clearpage'
let s:fold = 0
return 1
endif
return s:fold
endfu
fu! FoldText(line)
return '+ '. matchstr(getline(a:line),'^\s*\\htitle{\zs.*\ze}')
endfu
setl fdm=expr fde=FoldTeXLines(v:lnum) fdt=FoldText(v:foldstart)
regards,
Christian
Try this:
fu! FoldTeXLines(lnum)
if !exists("s:fold")
let s:fold = '0'
endif
let line = getline(a:lnum)
if line =~ '^\s*\\htitle'
let s:fold = '>1'
return s:fold
elseif line =~ '^\s*\\subtitle' && s:fold != '>1'
let s:fold = '>1'
return s:fold
elseif line =~ '^\s*\\clearpage'
let s:fold = '<1'
return 1
endif
return '='
endfu
fu! FoldText(line)
return '+ '. matchstr(getline(a:line),'^\s*\\\(h\|sub\)title{\zs.*\ze}')
endfu
setl fdm=expr fde=FoldTeXLines(v:lnum) fdt=FoldText(v:foldstart)
regards,
Christian
--
Wie man sein Kind nicht nennen sollte:
Asta Lavista
That looks a little bit odd. Better is this:
fu! FoldTeXLines(lnum)
if !exists("s:fold")
let s:fold = '0'
endif
let line = getline(a:lnum)
if line =~ '^\s*\\htitle'
let s:fold = '>1'
elseif line =~ '^\s*\\subtitle' && s:fold != '>1'
let s:fold = '>1'
elseif line =~ '^\s*\\clearpage'
let s:fold = '<1'
else
let s:fold = '='
endif
return s:fold
endfu
regards,
Christian
--
Ein Stotterer und ein Mann mit Glatze unterhalten sich.
Stotterer: "Wwwiiie tteuer wa wa war dddenn Ddeinnne Fri Frisur?"
Glatzkopf: "Oh, nur 26 Mark, genau so teuer wie bei Dir ein Ortsgespr�ch!"