Mercurial > vim
comparison runtime/syntax/yaml.vim @ 375:f14cbd913415 v7.0097
updated for version 7.0097
author | vimboss |
---|---|
date | Wed, 29 Jun 2005 22:40:58 +0000 |
parents | 3fc0f57ecb91 |
children | 4fe8e1a7758e |
comparison
equal
deleted
inserted
replaced
374:575dacb554d8 | 375:f14cbd913415 |
---|---|
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 <source@pcppopper.org> | 3 " Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> |
4 " URL: http://www.pcppopper.org/vim/syntax/pcp/yaml/ | 4 " Latest Revision: 2005-06-27 |
5 " Latest Revision: 2004-05-22 | |
6 " arch-tag: 01bf8ef1-335f-4692-a228-4846cb64cd16 | |
7 | 5 |
8 if version < 600 | 6 if exists("b:current_syntax") |
9 syntax clear | |
10 elseif exists("b:current_syntax") | |
11 finish | 7 finish |
12 endif | 8 endif |
13 | 9 |
14 " Todo | 10 let s:cpo_save = &cpo |
15 syn keyword yamlTodo contained TODO FIXME XXX NOTE | 11 set cpo&vim |
16 | 12 |
17 " Comments (4.2.2) | 13 syn keyword yamlTodo contained TODO FIXME XXX NOTE |
18 syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#' end='$' contains=yamlTodo | |
19 | 14 |
20 " Node Properties (4.3.4) | 15 syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#' |
21 syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' | 16 \ end='$' contains=yamlTodo,@Spell |
22 | 17 |
23 " Anchors (4.3.6) | 18 syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' |
24 syn match yamlAnchor '&.\+' | |
25 | 19 |
26 " Aliases (4.3.7) | 20 syn match yamlAnchor '&.\+' |
27 syn match yamlAlias '\*.\+' | |
28 | 21 |
29 " Operators, Blocks, Keys, and Delimiters | 22 syn match yamlAlias '\*.\+' |
30 syn match yamlDelimiter '[-,:]' | |
31 syn match yamlBlock '[\[\]{}>|]' | |
32 syn match yamlOperator '[?+-]' | |
33 syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' | |
34 | 23 |
35 " Strings (4.6.8, 4.6.9) | 24 syn match yamlDelimiter '[-,:]' |
36 syn region yamlString start=+"+ skip=+\\"+ end=+"+ contains=yamlEscape | 25 syn match yamlBlock '[\[\]{}>|]' |
37 syn region yamlString start=+'+ skip=+''+ end=+'+ contains=yamlSingleEscape | 26 syn match yamlOperator '[?+-]' |
38 syn match yamlEscape contained +\\[\\"abefnrtv^0_ NLP]+ | 27 syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' |
39 syn match yamlEscape contained '\\x\x\{2}' | 28 |
40 syn match yamlEscape contained '\\u\x\{4}' | 29 syn region yamlString start=+"+ skip=+\\"+ end=+"+ |
41 syn match yamlEscape contained '\\U\x\{8}' | 30 \ contains=yamlEscape |
31 syn region yamlString start=+'+ skip=+''+ end=+'+ | |
32 \ contains=yamlSingleEscape | |
33 syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ | |
34 syn match yamlEscape contained display '\\x\x\{2}' | |
35 syn match yamlEscape contained display '\\u\x\{4}' | |
36 syn match yamlEscape contained display '\\U\x\{8}' | |
42 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? | 37 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? |
43 syn match yamlEscape '\\\%(\r\n\|[\r\n]\)' | 38 syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' |
44 syn match yamlSingleEscape contained +''+ | 39 syn match yamlSingleEscape contained display +''+ |
45 | 40 |
46 " Numbers | |
47 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15) | 41 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15) |
48 syn match yamlNumber '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' | 42 syn match yamlNumber display |
49 syn match yamlNumber '0\o\+' | 43 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' |
50 syn match yamlNumber '0x\x\+' | 44 syn match yamlNumber display '0\o\+' |
51 syn match yamlNumber '([+-]\=[iI]nf)' | 45 syn match yamlNumber display '0x\x\+' |
52 syn match yamlNumber '(NaN)' | 46 syn match yamlNumber display '([+-]\=[iI]nf)' |
47 syn match yamlNumber display '(NaN)' | |
53 | 48 |
54 " Constants | 49 syn match yamlConstant '\<[~yn]\>' |
55 syn match yamlConstant '\<[~yn]\>' | 50 syn keyword yamlConstant true True TRUE false False FALSE |
56 syn keyword yamlConstant true True TRUE false False FALSE | 51 syn keyword yamlConstant yes Yes on ON no No off OFF |
57 syn keyword yamlConstant yes Yes on ON no No off OFF | 52 syn keyword yamlConstant null Null NULL nil Nil NIL |
58 syn keyword yamlConstant null Null NULL nil Nil NIL | |
59 | 53 |
60 " Timestamps | 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\)\=' |
61 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\)\=' | |
62 | 55 |
63 " Documents (4.3.1) | 56 syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective |
64 syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective | 57 syn match yamlDocumentEnd '\.\.\.' |
65 syn match yamlDocumentEnd '\.\.\.' | |
66 | 58 |
67 " Directives (4.3.2) | 59 syn match yamlDirective contained '%[^:]\+:.\+' |
68 syn match yamlDirective contained '%[^:]\+:.\+' | |
69 | 60 |
70 " Define the default highlighting. | 61 hi def link yamlTodo Todo |
71 " For version 5.7 and earlier: only when not done already | 62 hi def link yamlComment Comment |
72 " For version 5.8 and later: only when an item doesn't have highlighting yet | 63 hi def link yamlDocumentHeader PreProc |
73 if version >= 508 || !exists("did_yaml_syn_inits") | 64 hi def link yamlDocumentEnd PreProc |
74 if version < 508 | 65 hi def link yamlDirective Keyword |
75 let did_yaml_syn_inits = 1 | 66 hi def link yamlNodeProperty Type |
76 command -nargs=+ HiLink hi link <args> | 67 hi def link yamlAnchor Type |
77 else | 68 hi def link yamlAlias Type |
78 command -nargs=+ HiLink hi def link <args> | 69 hi def link yamlDelimiter Delimiter |
79 endif | 70 hi def link yamlBlock Operator |
80 | 71 hi def link yamlOperator Operator |
81 HiLink yamlTodo Todo | 72 hi def link yamlKey Identifier |
82 HiLink yamlComment Comment | 73 hi def link yamlString String |
83 HiLink yamlDocumentHeader PreProc | 74 hi def link yamlEscape SpecialChar |
84 HiLink yamlDocumentEnd PreProc | 75 hi def link yamlSingleEscape SpecialChar |
85 HiLink yamlDirective Keyword | 76 hi def link yamlNumber Number |
86 HiLink yamlNodeProperty Type | 77 hi def link yamlConstant Constant |
87 HiLink yamlAnchor Type | 78 hi def link yamlTimestamp Number |
88 HiLink yamlAlias Type | |
89 HiLink yamlDelimiter Delimiter | |
90 HiLink yamlBlock Operator | |
91 HiLink yamlOperator Operator | |
92 HiLink yamlKey Identifier | |
93 HiLink yamlString String | |
94 HiLink yamlEscape SpecialChar | |
95 HiLink yamlSingleEscape SpecialChar | |
96 HiLink yamlNumber Number | |
97 HiLink yamlConstant Constant | |
98 HiLink yamlTimestamp Number | |
99 | |
100 delcommand HiLink | |
101 endif | |
102 | 79 |
103 let b:current_syntax = "yaml" | 80 let b:current_syntax = "yaml" |
104 | 81 |
105 " vim: set sts=2 sw=2: | 82 let &cpo = s:cpo_save |
83 unlet s:cpo_save |