Mercurial > vim
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 |