diff .vim/syntax/django.vim @ 0:c30d68fbd368

Initial import from svn.
author Augie Fackler <durin42@gmail.com>
date Wed, 26 Nov 2008 10:56:09 -0600
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/.vim/syntax/django.vim
@@ -0,0 +1,93 @@
+" Vim syntax file
+" Language:	Django template
+" Maintainer:	Dave Hodder <dmh@dmh.org.uk>
+" Last Change:	2007 Apr 21
+
+" 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
+
+" Mark illegal characters
+syn match djangoError "%}\|}}\|#}"
+
+" Django template built-in tags and parameters
+" 'comment' doesn't appear here because it gets special treatment
+syn keyword djangoStatement contained and 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 openbrace closebrace opencomment
+syn keyword djangoStatement contained closecomment widthratio url with endwith
+syn keyword djangoStatement contained get_current_language trans noop blocktrans
+syn keyword djangoStatement contained endblocktrans get_available_languages
+syn keyword djangoStatement contained get_current_language_bidi plural
+
+" 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
+syn keyword djangoFilter contained time timesince timeuntil title
+syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
+syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
+
+" Keywords to highlight within comments
+syn keyword djangoTodo contained TODO FIXME XXX
+
+" Django template constants (always surrounded by double quotes)
+syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
+
+" Mark illegal characters within tag and variables blocks
+syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!&#]"
+syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]"
+
+" Django template tag and variable blocks
+syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
+syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
+
+" Django template 'comment' tag and comment block
+syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
+syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
+
+" 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 djangoTagError Error
+  HiLink djangoVarError Error
+  HiLink djangoError Error
+  HiLink djangoComment Comment
+  HiLink djangoComBlock Comment
+  HiLink djangoTodo Todo
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "django"