fix jinja syntax

This commit is contained in:
lepture
2012-09-13 17:49:36 +08:00
parent fa2569df31
commit 8aee9f551b

View File

@@ -18,71 +18,61 @@ unlet b:current_syntax
syntax case match syntax case match
" Mark illegal characters
syn match jinjaError "%}\|}}\|#}"
" jinja template built-in tags and parameters " jinja template built-in tags and parameters
" 'comment' doesn't appear here because it gets special treatment " 'comment' doesn't appear here because it gets special treatment
syn keyword jinjaStatement contained autoescape csrf_token empty syn keyword jinjaStatement contained if else elif endif is not
" FIXME ==, !=, <, >, <=, and >= should be jinjaStatements: syn keyword jinjaStatement contained for in recursive endfor
" syn keyword jinjaStatement contained == != < > <= >= syn keyword jinjaStatement contained raw endraw
syn keyword jinjaStatement contained and as block endblock by cycle debug else syn keyword jinjaStatement contained block endblock extends super scoped
syn keyword jinjaStatement contained extends filter endfilter firstof for syn keyword jinjaStatement contained macro endmacro call endcall
syn keyword jinjaStatement contained endfor if endif ifchanged endifchanged syn keyword jinjaStatement contained from import as do continue break
syn keyword jinjaStatement contained ifequal endifequal ifnotequal syn keyword jinjaStatement contained filter endfilter set
syn keyword jinjaStatement contained endifnotequal in include load not now or syn keyword jinjaStatement contained include ignore missing
syn keyword jinjaStatement contained parsed regroup reversed spaceless syn keyword jinjaStatement contained with without context endwith
syn keyword jinjaStatement contained endspaceless ssi templatetag openblock syn keyword jinjaStatement contained trans endtrans pluralize
syn keyword jinjaStatement contained closeblock openvariable closevariable syn keyword jinjaStatement contained autoescape endautoescape
syn keyword jinjaStatement contained openbrace closebrace opencomment
syn keyword jinjaStatement contained closecomment widthratio url with endwith
syn keyword jinjaStatement contained get_current_language trans noop blocktrans
syn keyword jinjaStatement contained endblocktrans get_available_languages
syn keyword jinjaStatement contained get_current_language_bidi plural
" jinja templete built-in filters " jinja templete built-in filters
syn keyword jinjaFilter contained add addslashes capfirst center cut date syn keyword jinjaFilter contained abs attr batch capitalize center default
syn keyword jinjaFilter contained default default_if_none dictsort syn keyword jinjaFilter contained dictsort escape filesizeformat first
syn keyword jinjaFilter contained dictsortreversed divisibleby escape escapejs syn keyword jinjaFilter contained float forceescape format groupby indent
syn keyword jinjaFilter contained filesizeformat first fix_ampersands syn keyword jinjaFilter contained int join last length list lower pprint
syn keyword jinjaFilter contained floatformat get_digit join last length length_is syn keyword jinjaFilter contained random replace reverse round safe slice
syn keyword jinjaFilter contained linebreaks linebreaksbr linenumbers ljust syn keyword jinjaFilter contained sort string striptags sum
syn keyword jinjaFilter contained lower make_list phone2numeric pluralize syn keyword jinjaFilter contained title trim truncate upper urlize
syn keyword jinjaFilter contained pprint random removetags rjust slice slugify syn keyword jinjaFilter contained wordcount wordwrap
syn keyword jinjaFilter contained safe safeseq stringformat striptags
syn keyword jinjaFilter contained time timesince timeuntil title " jinja template built-in tests
syn keyword jinjaFilter contained truncatewords truncatewords_html unordered_list upper urlencode syn keyword jinjaTest contained callable defined divisibleby escaped
syn keyword jinjaFilter contained urlize urlizetrunc wordcount wordwrap yesno syn keyword jinjaTest contained even iterable lower mapping none number
syn keyword jinjaTest contained odd sameas sequence string undefined upper
syn keyword jinjaFunction contained range lipsum dict cycler joiner
" Keywords to highlight within comments " Keywords to highlight within comments
syn keyword jinjaTodo contained TODO FIXME XXX syn keyword jinjaTodo contained TODO FIXME XXX
" jinja template constants (always surrounded by double quotes) " jinja template constants (always surrounded by double quotes)
syn region jinjaArgument contained start=/"/ skip=/\\"/ end=/"/ syn region jinjaArgument contained start=/"/ skip=/\\"/ end=/"/
syn keyword jinjaArgument contained true false
" Mark illegal characters within tag and variables blocks " Mark illegal characters within tag and variables blocks
syn match jinjaTagError contained "#}\|{{\|[^%]}}\|[&#]" syn match jinjaTagError contained "#}\|{{\|[^%]}}\|[&#]"
syn match jinjaVarError contained "#}\|{%\|%}\|[<>!&#%]" syn match jinjaVarError contained "#}\|{%\|%}\|[<>!&#%]"
syn cluster jinjaBlocks add=jinjaTagBlock,jinjaVarBlock,jinjaComBlock,jinjaComment
" jinja template tag and variable blocks " jinja template tag and variable blocks
syn region jinjaTagBlock start="{%" end="%}" contains=jinjaStatement,jinjaFilter,jinjaArgument,jinjaTagError display syn region jinjaTagBlock start="{%" end="%}" contains=jinjaStatement,jinjaFilter,jinjaArgument,jinjaFilter,jinjaTest,jinjaTagError display containedin=ALLBUT,@jinjaBlocks
syn region jinjaVarBlock start="{{" end="}}" contains=jinjaFilter,jinjaArgument,jinjaVarError display
" jinja template 'comment' tag and comment block
syn region jinjaComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=jinjaTodo
syn region jinjaComBlock start="{#" end="#}" contains=jinjaTodo
syn cluster jinjaBlocks add=jinjaTagBlock,jinjaVarBlock,jinjaComment,jinjaComBlock
syn region jinjaTagBlock start="{%" end="%}" contains=jinjaStatement,jinjaFilter,jinjaArgument,jinjaTagError display containedin=ALLBUT,@jinjaBlocks
syn region jinjaVarBlock start="{{" end="}}" contains=jinjaFilter,jinjaArgument,jinjaVarError display containedin=ALLBUT,@jinjaBlocks syn region jinjaVarBlock start="{{" end="}}" contains=jinjaFilter,jinjaArgument,jinjaVarError display containedin=ALLBUT,@jinjaBlocks
syn region jinjaComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=jinjaTodo containedin=ALLBUT,@jinjaBlocks
syn region jinjaComBlock start="{#" end="#}" contains=jinjaTodo containedin=ALLBUT,@jinjaBlocks syn region jinjaComBlock start="{#" end="#}" contains=jinjaTodo containedin=ALLBUT,@jinjaBlocks
hi def link jinjaTagBlock PreProc hi def link jinjaTagBlock PreProc
hi def link jinjaVarBlock PreProc hi def link jinjaVarBlock PreProc
hi def link jinjaStatement Statement hi def link jinjaStatement Statement
hi def link jinjaFunction Function
hi def link jinjaTest Type
hi def link jinjaFilter Identifier hi def link jinjaFilter Identifier
hi def link jinjaArgument Constant hi def link jinjaArgument Constant
hi def link jinjaTagError Error hi def link jinjaTagError Error