# HG changeset patch # User Steve Losh # Date 1285547444 14400 # Node ID 614694ef009fb5857eb955622529fa10495b4576 # Parent a4cd3c666a7916ce35b56ee69dfbc978e7f61338 vim: cram stuff diff -r a4cd3c666a79 -r 614694ef009f vim/.vimrc --- a/vim/.vimrc Sun Sep 26 18:28:43 2010 -0400 +++ b/vim/.vimrc Sun Sep 26 20:30:44 2010 -0400 @@ -234,6 +234,8 @@ " Cram tests au BufNewFile,BufRead *.t set filetype=cram +let cram_fold=1 +autocmd Syntax cram setlocal foldlevel=1 if has('gui_running') set guifont=Menlo:h12 diff -r a4cd3c666a79 -r 614694ef009f vim/syntax/cram.vim --- a/vim/syntax/cram.vim Sun Sep 26 18:28:43 2010 -0400 +++ b/vim/syntax/cram.vim Sun Sep 26 20:30:44 2010 -0400 @@ -4,6 +4,12 @@ " " Add the following line to your ~/.vimrc to enable: " au BufNewFile,BufRead *.t set filetype=cram +" +" If you want folding you'll need the following line as well: +" let cram_fold=1 +" +" You might also want to set the starting foldlevel for Cram files: +" autocmd Syntax cram setlocal foldlevel=1 if exists("b:current_syntax") finish @@ -12,7 +18,7 @@ syn include @Shell syntax/sh.vim syn match cramComment /^[^ ].*$/ -syn region cramOutput start=/^ [^$>]/ start=/^ $/ end=/\v.(\n\n*[^ ])\@=/me=s end=/ [$>]/me=e-3 end=/^$/ fold containedin=cramBlock +syn region cramOutput start=/^ [^$>]/ start=/^ $/ end=/\v.(\n\n*[^ ])\@=/me=s end=/^ [$>]/me=e-3 end=/^$/ fold containedin=cramBlock syn match cramCommandStart /^ \$ / containedin=cramCommand syn region cramCommand start=/^ \$ /hs=s+4,rs=s+4 end=/^ [^>]/me=e-3 end=/^ $/me=e-2 containedin=cramBlock contains=@Shell keepend syn region cramBlock start=/^ /ms=e-2 end=/\v.(\n\n*[^ ])\@=/me=s end=/^$/me=e-1 fold keepend @@ -21,7 +27,11 @@ hi link cramComment Normal hi link cramOutput Comment -set foldmethod=syntax -syn sync maxlines=200 +if exists("cram_fold") + setlocal foldmethod=syntax +endif + +syn sync match cramSync grouphere NONE "^$" +syn sync maxlines=2000 let b:current_syntax = "cram"