summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Woods <wwoods@redhat.com>2011-09-14 17:28:35 -0400
committerWill Woods <wwoods@redhat.com>2011-09-14 17:28:35 -0400
commiteebf642ba483a81df5ecdaeee258787563cb0398 (patch)
treea97b82a033762cdf0547d40438129221dc6959ba
parent32e2fae1dc7135e77ac5860bb2276c7e4edd2d59 (diff)
downloadvim-scripts-eebf642ba483a81df5ecdaeee258787563cb0398.tar.gz
vim-scripts-eebf642ba483a81df5ecdaeee258787563cb0398.tar.xz
vim-scripts-eebf642ba483a81df5ecdaeee258787563cb0398.zip
ltmpl: add mako variable filters, improve mako tag handling
-rw-r--r--syntax/ltmpl.vim17
1 files changed, 11 insertions, 6 deletions
diff --git a/syntax/ltmpl.vim b/syntax/ltmpl.vim
index 09a5927..2fb172c 100644
--- a/syntax/ltmpl.vim
+++ b/syntax/ltmpl.vim
@@ -20,15 +20,18 @@ unlet b:current_syntax
syn match makoError contained /\S.*/
syn match makoComment /^\s*##.*/
+syn region makoTag matchgroup=makoSpecial start=/<%[A-Za-z0-9_.:]\+/ end=/\/\=>/ contains=makoArgs,makoString,makoVar
+syn keyword makoArgs contained args name filter file import cached buffered cache_type
syn region makoComment matchgroup=makoSpecial start='<%doc>' end='</%doc>'
-syn region makoPython matchgroup=makoSpecial start=/<%\_s/ end=/%>/ contains=@Python
+syn region makoText matchgroup=makoSpecial start='<%text>' end='</%text>'
+syn region makoPython matchgroup=makoSpecial start=/<%!\=\_s/ end=/%>/ contains=@Python
syn region makoPython matchgroup=makoSpecial start=/^\s*%\s*\%(if\|elif\|else\|for\|while\)/ end=/$/ contains=@Python
syn match makoSpecial /^\s*%\s*\%(endif\|endfor\|endwhile\)\>/ skipwhite nextgroup=makoError
-syn region makoVar start=/${/ end=/}/ contains=@Python
-syn region makoTag matchgroup=makoSpecial start=/<%page\>/ end='/>' contains=makoArgs,makoString
-syn keyword makoArgs args
-syn region makoString contained start=/"/ end=/"/
-syn region makoString contained start=/'/ end=/'/
+syn region makoVar start=/${/ end=/}/ keepend contains=@Python,makoFilter
+syn region makoFilter contained matchgroup=makoSpecial start=/|/ end=/}/ contains=makoFilterNames
+syn keyword makoFilterNames contained u x h trim
+syn region makoString contained start=/"/ end=/"/ contains=makoVar
+syn region makoString contained start=/'/ end=/'/ contains=makoVar
syn match loraxError contained /\S.*/
syn region loraxQuote contained start=/"/ end=/"/ contains=makoVar,loraxContinue
@@ -69,10 +72,12 @@ syn keyword loraxKey run_pkg_transaction nextgroup=loraxError
" define colors
hi def link makoComment Comment
+hi def link makoText String
hi def link makoSpecial Special
hi def link makoVar PreProc
hi def link makoError Error
hi def link makoString String
+hi def link makoFilterNames Constant
hi def link makoArgs Type
hi def link loraxKey Statement