# HG changeset patch # User Steve Losh # Date 1285540123 14400 # Node ID a4cd3c666a7916ce35b56ee69dfbc978e7f61338 # Parent 012ee2f6f9ad7c0888885a41e26399798c23cf2a vim: add the cram syntax file diff -r 012ee2f6f9ad -r a4cd3c666a79 vim/.vimrc --- a/vim/.vimrc Thu Sep 23 17:42:09 2010 -0400 +++ b/vim/.vimrc Sun Sep 26 18:28:43 2010 -0400 @@ -232,6 +232,9 @@ " Stop it, hash key inoremap # X# +" Cram tests +au BufNewFile,BufRead *.t set filetype=cram + if has('gui_running') set guifont=Menlo:h12 colorscheme molokai diff -r 012ee2f6f9ad -r a4cd3c666a79 vim/colors/molokai.vim --- a/vim/colors/molokai.vim Thu Sep 23 17:42:09 2010 -0400 +++ b/vim/colors/molokai.vim Sun Sep 26 18:28:43 2010 -0400 @@ -47,7 +47,6 @@ hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold hi Exception guifg=#A6E22E gui=bold hi Float guifg=#AE81FF -hi FoldColumn guifg=#465457 guibg=#000000 hi Folded guifg=#465457 guibg=#000000 hi Function guifg=#A6E22E hi Identifier guifg=#FD971F @@ -115,15 +114,17 @@ hi CursorColumn guibg=#3E3D32 hi ColorColumn guibg=#3E3D32 hi LineNr guifg=#AAAAAA guibg=#3B3A32 + hi FoldColumn guifg=#AAAAAA guibg=#3B3A32 hi NonText guifg=#BCBCBC guibg=#3B3A32 else hi Normal guifg=#F8F8F2 guibg=#1B1D1E hi Folded guifg=#666666 guibg=#1B1D1E - hi Comment guifg=#465457 + hi Comment guifg=#5c7176 hi CursorLine guibg=#232728 hi CursorColumn guibg=#232728 hi ColorColumn guibg=#232728 hi LineNr guifg=#AAAAAA guibg=#1B1D1E + hi FoldColumn guifg=#AAAAAA guibg=#1B1D1E " Invisible character colors highlight NonText guifg=#444444 guibg=#1a1c1d diff -r 012ee2f6f9ad -r a4cd3c666a79 vim/syntax/cram.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vim/syntax/cram.vim Sun Sep 26 18:28:43 2010 -0400 @@ -0,0 +1,27 @@ +" Vim syntax file +" Language: Cram Tests +" Author: Steve Losh (steve@stevelosh.com) +" +" Add the following line to your ~/.vimrc to enable: +" au BufNewFile,BufRead *.t set filetype=cram + +if exists("b:current_syntax") + finish +endif + +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 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 + +hi link cramCommandStart Keyword +hi link cramComment Normal +hi link cramOutput Comment + +set foldmethod=syntax +syn sync maxlines=200 + +let b:current_syntax = "cram"