forked from aniani/vim
73 lines
3.0 KiB
VimL
73 lines
3.0 KiB
VimL
" Vim syntax file
|
|
" Language: Django template
|
|
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
|
|
" Last Change: 2006 Mar 23
|
|
|
|
" For version 5.x: Clear all syntax items
|
|
" For version 6.x: Quit when a syntax file was already loaded
|
|
if version < 600
|
|
syntax clear
|
|
elseif exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syntax case match
|
|
|
|
" Django template built-in tags and parameters
|
|
" 'comment' doesn't appear here because it gets special treatment
|
|
syn keyword djangoStatement contained as block endblock by cycle debug else
|
|
syn keyword djangoStatement contained extends filter endfilter firstof for
|
|
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
|
|
syn keyword djangoStatement contained ifequal endifequal ifnotequal
|
|
syn keyword djangoStatement contained endifnotequal in include load not now or
|
|
syn keyword djangoStatement contained parsed regroup reversed spaceless
|
|
syn keyword djangoStatement contained endspaceless ssi templatetag openblock
|
|
syn keyword djangoStatement contained closeblock openvariable closevariable
|
|
syn keyword djangoStatement contained widthratio with
|
|
|
|
" Django templete built-in filters
|
|
syn keyword djangoFilter contained add addslashes capfirst center cut date
|
|
syn keyword djangoFilter contained default default_if_none dictsort
|
|
syn keyword djangoFilter contained dictsortreversed divisibleby escape
|
|
syn keyword djangoFilter contained filesizeformat first fix_ampersands
|
|
syn keyword djangoFilter contained floatformat get_digit join length length_is
|
|
syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
|
|
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
|
|
syn keyword djangoFilter contained pprint random removetags rjust slice slugify
|
|
syn keyword djangoFilter contained stringformat striptags time timesince title
|
|
syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
|
|
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
|
|
|
|
" Django template constants (always surrounded by double quotes)
|
|
syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
|
|
|
|
" Django template tag and variable blocks
|
|
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument display
|
|
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument display
|
|
|
|
" Django template 'comment' tag
|
|
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}"
|
|
|
|
" Define the default highlighting.
|
|
" For version 5.7 and earlier: only when not done already
|
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
|
if version >= 508 || !exists("did_django_syn_inits")
|
|
if version < 508
|
|
let did_django_syn_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
HiLink djangoTagBlock PreProc
|
|
HiLink djangoVarBlock PreProc
|
|
HiLink djangoStatement Statement
|
|
HiLink djangoFilter Identifier
|
|
HiLink djangoArgument Constant
|
|
HiLink djangoComment Comment
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "django"
|