annotate runtime/syntax/yaml.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children c16898406ff2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: YAML (YAML Ain't Markup Language)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Latest Revision: 2006-04-19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 if exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 let s:cpo_save = &cpo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 set cpo&vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 syn keyword yamlTodo contained TODO FIXME XXX NOTE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn region yamlComment display oneline start='\%(^\|\s\)#' end='$'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 \ contains=yamlTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn match yamlAnchor '&.\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn match yamlAlias '\*.\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn match yamlDelimiter '[-,:]'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn match yamlBlock '[\[\]{}>|]'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn match yamlOperator '[?+-]'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn region yamlString start=+"+ skip=+\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 \ contains=yamlEscape
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn region yamlString start=+'+ skip=+''+ end=+'+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 \ contains=yamlSingleEscape
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn match yamlEscape contained display '\\x\x\{2}'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 syn match yamlEscape contained display '\\u\x\{4}'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn match yamlEscape contained display '\\U\x\{8}'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 " TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match yamlSingleEscape contained display +''+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 " TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match yamlNumber display
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match yamlNumber display '0\o\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn match yamlNumber display '0x\x\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn match yamlNumber display '([+-]\=[iI]nf)'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match yamlNumber display '(NaN)'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn match yamlConstant '\<[~yn]\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn keyword yamlConstant true True TRUE false False FALSE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn keyword yamlConstant yes Yes on ON no No off OFF
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn keyword yamlConstant null Null NULL nil Nil NIL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
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\)\='
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match yamlDocumentEnd '\.\.\.'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn match yamlDirective contained '%[^:]\+:.\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 hi def link yamlTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 hi def link yamlComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 hi def link yamlDocumentHeader PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 hi def link yamlDocumentEnd PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 hi def link yamlDirective Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 hi def link yamlNodeProperty Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 hi def link yamlAnchor Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 hi def link yamlAlias Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 hi def link yamlDelimiter Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 hi def link yamlBlock Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 hi def link yamlOperator Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 hi def link yamlKey Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 hi def link yamlString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 hi def link yamlEscape SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 hi def link yamlSingleEscape SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 hi def link yamlNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 hi def link yamlConstant Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 hi def link yamlTimestamp Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 let b:current_syntax = "yaml"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 let &cpo = s:cpo_save
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 unlet s:cpo_save