2 " Language: YAML (YAML Ain't Markup Language)
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2007-06-27
6 if exists("b:current_syntax")
20 syn region yamlComment
25 \ contains=yamlTodo,@Spell
27 syn match yamlNodeProperty
28 \ '!\%(![^\\^% \t]\+\|[^!][^:/ \t]*\)'
36 syn match yamlDelimiter
40 syn match yamlOperator
54 \ contains=yamlSingleEscape
58 \ +\[\"abefnrtv^0_ NLP]+
72 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
73 " XXX: Em, what is going on here? This can't be right. Leave out until we
74 " figure out what this is meant to do.
79 syn match yamlSingleEscape
84 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
87 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
101 syn match yamlConstant
103 syn keyword yamlConstant
110 syn keyword yamlConstant
119 syn keyword yamlConstant
127 syn match yamlTimestamp
128 \ '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
130 syn region yamlDocumentHeader
133 \ contains=yamlDirective
134 syn match yamlDocumentEnd
137 syn match yamlDirective
141 syn match yamlIndentation
143 \ contains=yamlIndentationError
145 syn match yamlIndentationError
148 hi def link yamlTodo Todo
149 hi def link yamlComment Comment
150 hi def link yamlDocumentHeader PreProc
151 hi def link yamlDocumentEnd PreProc
152 hi def link yamlDirective Keyword
153 hi def link yamlNodeProperty Type
154 hi def link yamlAnchor Type
155 hi def link yamlAlias Type
156 hi def link yamlDelimiter Delimiter
157 hi def link yamlBlock Operator
158 hi def link yamlOperator Operator
159 hi def link yamlKey Identifier
160 hi def link yamlString String
161 hi def link yamlEscape SpecialChar
162 hi def link yamlSingleEscape SpecialChar
163 hi def link yamlNumber Number
164 hi def link yamlConstant Constant
165 hi def link yamlTimestamp Number
166 hi def link yamlIndentationError Error
168 let b:current_syntax = "yaml"
170 let &cpo = s:cpo_save