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