145 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Google Closure templates syntax file.
 | 
						|
" Language: Soy
 | 
						|
" Maintainer: Dugan Chen (https://github.com/duganchen)
 | 
						|
"
 | 
						|
if exists("b:current_syntax")
 | 
						|
	finish
 | 
						|
endif
 | 
						|
 | 
						|
if version < 600
 | 
						|
  syntax clear
 | 
						|
elseif exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
syntax clear
 | 
						|
syntax case match
 | 
						|
 | 
						|
syntax keyword soyConstant contained null
 | 
						|
syntax keyword soyConstant contained false
 | 
						|
syntax keyword soyConstant contained true
 | 
						|
 | 
						|
syntax keyword soyFunction contained isFirst
 | 
						|
syntax keyword soyFunction contained isLast
 | 
						|
syntax keyword soyFunction contained index
 | 
						|
syntax keyword soyFunction contained hasData
 | 
						|
syntax keyword soyFunction contained length
 | 
						|
syntax keyword soyFunction contained round
 | 
						|
syntax keyword soyFunction contained floor
 | 
						|
syntax keyword soyFunction contained ceiling
 | 
						|
syntax keyword soyFunction contained min
 | 
						|
syntax keyword soyFunction contained max
 | 
						|
syntax keyword soyFunction contained randomInt
 | 
						|
syntax keyword soyFunction contained bidiGlobalDir
 | 
						|
syntax keyword soyFunction contained bidiDirAttr
 | 
						|
syntax keyword soyFunction contained bidiMark
 | 
						|
syntax keyword soyFunction contained bidiMarkAfter
 | 
						|
syntax keyword soyFunction contained bidiStartEdge
 | 
						|
syntax keyword soyFunction contained bidiEndEdge
 | 
						|
syntax keyword soyFunction contained bidiTextDir
 | 
						|
 | 
						|
syntax keyword soyStatement contained namespace
 | 
						|
syntax keyword soyStatement contained template
 | 
						|
syntax keyword soyStatement contained delpackage
 | 
						|
syntax keyword soyStatement contained deltemplate
 | 
						|
 | 
						|
syntax keyword soyKeyword contained literal
 | 
						|
syntax keyword soyKeyword contained print
 | 
						|
syntax keyword soyKeyword contained msg
 | 
						|
syntax keyword soyKeyword contained call
 | 
						|
syntax keyword soyKeyword contained delcall
 | 
						|
syntax keyword soyKeyword contained param
 | 
						|
syntax keyword soyKeyword contained let
 | 
						|
syntax keyword soyKeyword contained css
 | 
						|
 | 
						|
syntax keyword soyConditional contained if
 | 
						|
syntax keyword soyConditional contained elseif
 | 
						|
syntax keyword soyConditional contained else
 | 
						|
syntax keyword soyConditional contained switch
 | 
						|
syntax keyword soyConditional contained case
 | 
						|
syntax keyword soyConditional contained default
 | 
						|
syntax keyword soyConditional contained ifempty
 | 
						|
 | 
						|
syntax keyword soyRepeat contained foreach
 | 
						|
syntax keyword soyRepeat contained for
 | 
						|
syntax keyword soyRepeat contained in
 | 
						|
syntax keyword soyRepeat contained range
 | 
						|
 | 
						|
syntax keyword soyCharacter contained sp
 | 
						|
syntax keyword soyCharacter contained nil
 | 
						|
syntax keyword soyCharacter contained r
 | 
						|
syntax keyword soyCharacter contained n
 | 
						|
syntax keyword soyCharacter contained t
 | 
						|
syntax keyword soyCharacter contained lb
 | 
						|
syntax keyword soyCharacter contained rb
 | 
						|
 | 
						|
syntax keyword soyDirective contained private
 | 
						|
syntax keyword soyDirective contained autoescape
 | 
						|
syntax keyword soyDirective contained noAutoescape
 | 
						|
syntax keyword soyDirective contained id
 | 
						|
syntax keyword soyDirective contained escapeCssString
 | 
						|
syntax keyword soyDirective contained escapeHtml
 | 
						|
syntax keyword soyDirective contained escapeHtmlRcdata
 | 
						|
syntax keyword soyDirective contained escapeHtmlAttribute
 | 
						|
syntax keyword soyDirective contained escapeHtmlAttributeNospace
 | 
						|
syntax keyword soyDirective contained escapeUri
 | 
						|
syntax keyword soyDirective contained escapeJs
 | 
						|
syntax keyword soyDirective contained escapeJsRegex
 | 
						|
syntax keyword soyDirective contained escapeJsString
 | 
						|
syntax keyword soyDirective contained escapeJsValue
 | 
						|
syntax keyword soyDirective contained truncate
 | 
						|
syntax keyword soyDirective contained insertWordBreaks
 | 
						|
syntax keyword soyDirective contained changeNewlineToBr
 | 
						|
syntax keyword soyDirective contained desc
 | 
						|
syntax keyword soyDirective contained meaning
 | 
						|
syntax keyword soyDirective contained data
 | 
						|
syntax keyword soyDirective contained kind
 | 
						|
syntax keyword soyDirective contained variant
 | 
						|
syntax keyword soyDirective contained bidiSpanWrap
 | 
						|
syntax keyword soyDirective contained bidiUnicodeWrap
 | 
						|
 | 
						|
syntax match soySpecialComment /@param?\?/ contained
 | 
						|
 | 
						|
syntax region soyCommand start="{" end="}" contains=soyKeyword, soyDirective, soyIdentifier, soyString, soyTemplate, soyConstant, soyInteger, soyCharacter, soyFloat, soySci, soyOperator, soyFunction, soyRepeat, soyConditional, soyStatement, soyLabel
 | 
						|
 | 
						|
syntax region soyString contained start="\'" end="\'"
 | 
						|
syntax region soyString contained start="\"" end="\""
 | 
						|
 | 
						|
syntax match soyIdentifier /\$[a-zA-Z0-9._]*\>/ contained
 | 
						|
syntax region soyComment start=/\/\*/ end='\\*\/' contains=soySpecialComment
 | 
						|
 | 
						|
syntax match soyComment /\/\/.*$/
 | 
						|
syntax match soyTemplate /\s\+\.\w\+\>/ contained
 | 
						|
 | 
						|
syntax match soyInteger /\-\?\(0x\)\?[A-F0-9]\+\>/ contained
 | 
						|
 | 
						|
syntax match soyNumber /\-\?\d\+\(e\-\?\d\+\)\?\>/ contained
 | 
						|
 | 
						|
syntax match soyFloat /\-\?\d\+\.\d\+\>/ contained
 | 
						|
syntax match soySci /\-\?\d\+e\-\?\d\+\>/ contained
 | 
						|
 | 
						|
syntax match soyOperator /\<\(not\|and\|or\)\>/ contained
 | 
						|
 | 
						|
syntax match soyLabel /\<\w\+:/ contained
 | 
						|
 | 
						|
" Yes, this causes the - in -1 to show as an operator. This is a bug.
 | 
						|
syntax match soyOperator /[-*/%+<>=!?:]/ contained
 | 
						|
 | 
						|
highlight def link soyOperator Operator
 | 
						|
highlight def link soyKeyword Statement
 | 
						|
highlight def link soyDirective Type
 | 
						|
highlight def link soyIdentifier Identifier
 | 
						|
highlight def link soyString String
 | 
						|
highlight def link soyComment Comment
 | 
						|
highlight def link soyTemplate Identifier
 | 
						|
highlight def link soyInteger Number
 | 
						|
highlight def link soyFloat Float
 | 
						|
highlight def link soySci Float
 | 
						|
highlight def link soyConstant Constant
 | 
						|
highlight def link soyCharacter Character
 | 
						|
highlight def link soyFunction Function
 | 
						|
highlight def link soyRepeat Repeat
 | 
						|
highlight def link soyConditional Conditional
 | 
						|
highlight def link soyStatement Statement
 | 
						|
highlight def link soySpecialComment SpecialComment
 | 
						|
highlight def link soyLabel Identifier
 |