mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	Django template
 | 
						|
" Maintainer:	Dave Hodder <dmh@dmh.org.uk>
 | 
						|
" Last Change:	2008 Dec 18
 | 
						|
 | 
						|
" 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 autoescape on off endautoescape
 | 
						|
syn keyword djangoStatement contained and as block endblock by cycle debug else
 | 
						|
syn keyword djangoStatement contained extends filter endfilter firstof for empty
 | 
						|
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 escapejs
 | 
						|
syn keyword djangoFilter contained filesizeformat first fix_ampersands
 | 
						|
syn keyword djangoFilter contained floatformat force_escape get_digit iriencode join last 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 safe slice slugify
 | 
						|
syn keyword djangoFilter contained stringformat striptags
 | 
						|
syn keyword djangoFilter contained time timesince timeuntil title
 | 
						|
syn keyword djangoFilter contained truncatewords truncatewords_html 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"
 |