comparison runtime/syntax/yaml.vim @ 1618:46bbe11644e0

updated for version 7.2a
author vimboss
date Tue, 24 Jun 2008 20:19:36 +0000
parents 1f3b1021f002
children f4f8014d516e
comparison
equal deleted inserted replaced
1617:5f0c7aae4da2 1618:46bbe11644e0
1 " Vim syntax file 1 " Vim syntax file
2 " Language: YAML (YAML Ain't Markup Language) 2 " Language: YAML (YAML Ain't Markup Language)
3 " Maintainer: Nikolai Weibull <now@bitwi.se> 3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2006-04-19 4 " Latest Revision: 2007-06-27
5 5
6 if exists("b:current_syntax") 6 if exists("b:current_syntax")
7 finish 7 finish
8 endif 8 endif
9 9
10 let s:cpo_save = &cpo 10 let s:cpo_save = &cpo
11 set cpo&vim 11 set cpo&vim
12 12
13 syn keyword yamlTodo contained TODO FIXME XXX NOTE 13 syn keyword yamlTodo
14 \ contained
15 \ TODO
16 \ FIXME
17 \ XXX
18 \ NOTE
14 19
15 syn region yamlComment display oneline start='\%(^\|\s\)#' end='$' 20 syn region yamlComment
16 \ contains=yamlTodo,@Spell 21 \ display
22 \ oneline
23 \ start='%(^|s)#'
24 \ end='$'
25 \ contains=yamlTodo,@Spell
17 26
18 syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' 27 syn match yamlNodeProperty
28 \ '!\%(![^\\^% \t]\+\|[^!][^:/ \t]*\)'
19 29
20 syn match yamlAnchor '&.\+' 30 syn match yamlAnchor
31 \ '&.+'
21 32
22 syn match yamlAlias '\*.\+' 33 syn match yamlAlias
34 \ '*.+'
23 35
24 syn match yamlDelimiter '[-,:]' 36 syn match yamlDelimiter
25 syn match yamlBlock '[\[\]{}>|]' 37 \ '[-,:]'
26 syn match yamlOperator '[?+-]' 38 syn match yamlBlock
27 syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' 39 \ '[[]{}>|]'
40 syn match yamlOperator
41 \ '[?+-]'
42 syn match yamlKey
43 \ 'w+(s+w+)*zes*:'
28 44
29 syn region yamlString start=+"+ skip=+\\"+ end=+"+ 45 syn region yamlString
30 \ contains=yamlEscape 46 \ start=+"+
31 syn region yamlString start=+'+ skip=+''+ end=+'+ 47 \ skip=+\"+
32 \ contains=yamlSingleEscape 48 \ end=+"+
33 syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ 49 \ contains=yamlEscape
34 syn match yamlEscape contained display '\\x\x\{2}' 50 syn region yamlString
35 syn match yamlEscape contained display '\\u\x\{4}' 51 \ start=+'+
36 syn match yamlEscape contained display '\\U\x\{8}' 52 \ skip=+''+
53 \ end=+'+
54 \ contains=yamlSingleEscape
55 syn match yamlEscape
56 \ contained
57 \ display
58 \ +\[\"abefnrtv^0_ NLP]+
59 syn match yamlEscape
60 \ contained
61 \ display
62 \ '\xx{2}'
63 syn match yamlEscape
64 \ contained
65 \ display
66 \ '\ux{4}'
67 syn match yamlEscape
68 \ contained
69 \ display
70 \ '\Ux{8}'
71
37 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? 72 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
38 syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' 73 " XXX: Em, what is going on here? This can't be right. Leave out until we
39 syn match yamlSingleEscape contained display +''+ 74 " figure out what this is meant to do.
75 "syn match yamlEscape
76 " \ contained
77 " \ display
78 " \ '\%(rn|[rn])'
79 syn match yamlSingleEscape
80 \ contained
81 \ display
82 \ +''+
40 83
41 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15) 84 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
42 syn match yamlNumber display 85 syn match yamlNumber
43 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' 86 \ display
44 syn match yamlNumber display '0\o\+' 87 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
45 syn match yamlNumber display '0x\x\+' 88 syn match yamlNumber
46 syn match yamlNumber display '([+-]\=[iI]nf)' 89 \ display
47 syn match yamlNumber display '(NaN)' 90 \ '0o+'
91 syn match yamlNumber
92 \ display
93 \ '0xx+'
94 syn match yamlNumber
95 \ display
96 \ '([+-]=[iI]nf)'
97 syn match yamlNumber
98 \ display
99 \ '(NaN)'
48 100
49 syn match yamlConstant '\<[~yn]\>' 101 syn match yamlConstant
50 syn keyword yamlConstant true True TRUE false False FALSE 102 \ '<[~yn]>'
51 syn keyword yamlConstant yes Yes on ON no No off OFF 103 syn keyword yamlConstant
52 syn keyword yamlConstant null Null NULL nil Nil NIL 104 \ true
105 \ True
106 \ TRUE
107 \ false
108 \ False
109 \ FALSE
110 syn keyword yamlConstant
111 \ yes
112 \ Yes
113 \ on
114 \ ON
115 \ no
116 \ No
117 \ off
118 \ OFF
119 syn keyword yamlConstant
120 \ null
121 \ Null
122 \ NULL
123 \ nil
124 \ Nil
125 \ NIL
53 126
54 syn match yamlTimestamp '\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\)\=' 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\)\='
55 129
56 syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective 130 syn region yamlDocumentHeader
57 syn match yamlDocumentEnd '\.\.\.' 131 \ start='---'
132 \ end='$'
133 \ contains=yamlDirective
134 syn match yamlDocumentEnd
135 \ '\.\.\.'
58 136
59 syn match yamlDirective contained '%[^:]\+:.\+' 137 syn match yamlDirective
138 \ contained
139 \ '%[^:]+:.+'
140
141 syn match yamlIndentation
142 \ '^s*'
143 \ contains=yamlIndentationError
144
145 syn match yamlIndentationError
146 \ 't'
60 147
61 hi def link yamlTodo Todo 148 hi def link yamlTodo Todo
62 hi def link yamlComment Comment 149 hi def link yamlComment Comment
63 hi def link yamlDocumentHeader PreProc 150 hi def link yamlDocumentHeader PreProc
64 hi def link yamlDocumentEnd PreProc 151 hi def link yamlDocumentEnd PreProc
74 hi def link yamlEscape SpecialChar 161 hi def link yamlEscape SpecialChar
75 hi def link yamlSingleEscape SpecialChar 162 hi def link yamlSingleEscape SpecialChar
76 hi def link yamlNumber Number 163 hi def link yamlNumber Number
77 hi def link yamlConstant Constant 164 hi def link yamlConstant Constant
78 hi def link yamlTimestamp Number 165 hi def link yamlTimestamp Number
166 hi def link yamlIndentationError Error
79 167
80 let b:current_syntax = "yaml" 168 let b:current_syntax = "yaml"
81 169
82 let &cpo = s:cpo_save 170 let &cpo = s:cpo_save
83 unlet s:cpo_save 171 unlet s:cpo_save