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