annotate runtime/syntax/racc.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim default file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: Racc input file
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-07-09
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 raccTodo contained TODO FIXME XXX NOTE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn region raccComment start='/\*' end='\*/'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 \ contains=raccTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syn region raccComment display oneline start='#' end='$'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 \ contains=raccTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn region raccClass transparent matchgroup=raccKeyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 \ start='\<class\>' end='\<rule\>'he=e-4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 \ contains=raccComment,raccPrecedence,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 \ raccTokenDecl,raccExpect,raccOptions,raccConvert,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 \ raccStart,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn region raccPrecedence transparent matchgroup=raccKeyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 \ start='\<prechigh\>' end='\<preclow\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 \ contains=raccComment,raccPrecSpec
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn keyword raccPrecSpec contained nonassoc left right
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 \ nextgroup=raccPrecToken,raccPrecString skipwhite
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 \ skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn match raccPrecToken contained '\<\u[A-Z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 \ nextgroup=raccPrecToken,raccPrecString skipwhite
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 \ skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn region raccPrecString matchgroup=raccPrecString start=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 \ skip=+\\\\\|\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 \ contains=raccSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 \ nextgroup=raccPrecToken,raccPrecString skipwhite
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 \ skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn region raccPrecString matchgroup=raccPrecString start=+'+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 \ skip=+\\\\\|\\'+ end=+'+ contains=raccSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 \ nextgroup=raccPrecToken,raccPrecString skipwhite
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 \ skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn keyword raccTokenDecl contained token
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 \ nextgroup=raccTokenR skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match raccTokenR contained '\<\u[A-Z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 \ nextgroup=raccTokenR skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn keyword raccExpect contained expect
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 \ nextgroup=raccNumber skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match raccNumber contained '\<\d\+\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn keyword raccOptions contained options
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 \ nextgroup=raccOptionsR skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn keyword raccOptionsR contained omit_action_call result_var
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 \ nextgroup=raccOptionsR skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn region raccConvert transparent contained matchgroup=raccKeyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 \ start='\<convert\>' end='\<end\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 \ contains=raccComment,raccConvToken skipwhite
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 \ skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn match raccConvToken contained '\<\u[A-Z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 \ nextgroup=raccString skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn keyword raccStart contained start
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 \ nextgroup=raccTargetS skipwhite skipnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn match raccTargetS contained '\<\l[a-z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 syn match raccSpecial contained '\\["'\\]'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn region raccString start=+"+ skip=+\\\\\|\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 \ contains=raccSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 syn region raccString start=+'+ skip=+\\\\\|\\'+ end=+'+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 \ contains=raccSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 syn region raccRules transparent matchgroup=raccKeyword start='\<rule\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 \ end='\<end\>' contains=raccComment,raccString,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 \ raccNumber,raccToken,raccTarget,raccDelimiter,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 \ raccAction
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 syn match raccTarget contained '\<\l[a-z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 syn match raccDelimiter contained '[:|]'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 syn match raccToken contained '\<\u[A-Z0-9]*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 syn include @raccRuby syntax/ruby.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 syn region raccAction transparent matchgroup=raccDelimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 \ start='{' end='}' contains=@raccRuby
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 syn region raccHeader transparent matchgroup=raccPreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 \ start='^---- header.*' end='^----'he=e-4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 \ contains=@raccRuby
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105 syn region raccInner transparent matchgroup=raccPreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 \ start='^---- inner.*' end='^----'he=e-4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 \ contains=@raccRuby
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 syn region raccFooter transparent matchgroup=raccPreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 \ start='^---- footer.*' end='^----'he=e-4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 \ contains=@raccRuby
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 syn sync match raccSyncHeader grouphere raccHeader '^---- header'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 syn sync match raccSyncInner grouphere raccInner '^---- inner'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 syn sync match raccSyncFooter grouphere raccFooter '^---- footer'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 hi def link raccTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 hi def link raccComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 hi def link raccPrecSpec Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 hi def link raccPrecToken raccToken
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 hi def link raccPrecString raccString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 hi def link raccTokenDecl Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 hi def link raccToken Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 hi def link raccTokenR raccToken
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 hi def link raccExpect Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 hi def link raccNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 hi def link raccOptions Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 hi def link raccOptionsR Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 hi def link raccConvToken raccToken
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130 hi def link raccStart Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 hi def link raccTargetS Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 hi def link raccSpecial special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 hi def link raccString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 hi def link raccTarget Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 hi def link raccDelimiter Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 hi def link raccPreProc PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 hi def link raccKeyword Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 let b:current_syntax = "racc"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 let &cpo = s:cpo_save
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 unlet s:cpo_save