tvl-depot/usbify/vim/.vim/syntax/soy.vim
2016-08-01 15:30:21 -04:00

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