kelwin / vim-smali

smali syntax highlighting for vim by lohan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FR: Use fold to hide .line

nemanjan00 opened this issue · comments

Hello,
I hacked together a simple fold config for easier reading. It hides .line...

I was thinking you might have some use for it for this plugin

function! SkipLineFoldExpr(lnum)
	let nextline = trim(getline(a:lnum + 1))
	let curline = trim(getline(a:lnum))

	" fold begins at {$ or one line before }$
	if curline[0:4] == '.line' || (curline == '' && nextline[0:4] == '.line')
	"if curline[0:4] == '.line' || nextline[0:4] == '.line'
		return 1
	endif

	" fold ends one line after {$ or at }$
	if curline[0:4] != '.line'
		return 0
	endif

	return 0
endfunction

function! SkipLineFoldText()
	" fold text matches non-empty line
	"return getline(v:foldstart)
	return ''
endfunction

" customize how fold is defined
set foldexpr=SkipLineFoldExpr(v:lnum)

" customize how fold looks like
set foldtext=SkipLineFoldText()

" use 'foldexpr'
set foldmethod=expr

set foldenable
set foldclose=all
set foldopen=all
set foldlevel=0

set fillchars=fold:\ 

highlight clear Folded