[OCaml] Mobile-friendly clone of cgit.
1
{
2
"information_for_contributors":[
3
"This file has been converted from https://github.com/atom/language-xml/blob/master/grammars/xml.cson",
4
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
"Once accepted there, we are happy to receive an update request."
6
],
7
"version":"https://github.com/atom/language-xml/commit/7bc75dfe779ad5b35d9bf4013d9181864358cb49",
8
"name":"XML",
9
"scopeName":"text.xml",
10
"patterns":[
11
{
12
"begin":"(<\\?)\\s*([-_a-zA-Z0-9]+)",
13
"captures":{
14
"1":{
15
"name":"punctuation.definition.tag.xml"
16
},
17
"2":{
18
"name":"entity.name.tag.xml"
19
}
20
},
21
"end":"(\\?>)",
22
"name":"meta.tag.preprocessor.xml",
23
"patterns":[
24
{
25
"match":" ([a-zA-Z-]+)",
26
"name":"entity.other.attribute-name.xml"
27
},
28
{
29
"include":"#doublequotedString"
30
},
31
{
32
"include":"#singlequotedString"
33
}
34
]
35
},
36
{
37
"begin":"(<!)(DOCTYPE)\\s+([:a-zA-Z_][:a-zA-Z0-9_.-]*)",
38
"captures":{
39
"1":{
40
"name":"punctuation.definition.tag.xml"
41
},
42
"2":{
43
"name":"keyword.other.doctype.xml"
44
},
45
"3":{
46
"name":"variable.language.documentroot.xml"
47
}
48
},
49
"end":"\\s*(>)",
50
"name":"meta.tag.sgml.doctype.xml",
51
"patterns":[
52
{
53
"include":"#internalSubset"
54
}
55
]
56
},
57
{
58
"include":"#comments"
59
},
60
{
61
"begin":"(<)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(?=(\\s[^>]*)?></\\2>)",
62
"beginCaptures":{
63
"1":{
64
"name":"punctuation.definition.tag.xml"
65
},
66
"2":{
67
"name":"entity.name.tag.xml"
68
},
69
"3":{
70
"name":"entity.name.tag.namespace.xml"
71
},
72
"4":{
73
"name":"punctuation.separator.namespace.xml"
74
},
75
"5":{
76
"name":"entity.name.tag.localname.xml"
77
}
78
},
79
"end":"(>)(</)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(>)",
80
"endCaptures":{
81
"1":{
82
"name":"punctuation.definition.tag.xml"
83
},
84
"2":{
85
"name":"punctuation.definition.tag.xml"
86
},
87
"3":{
88
"name":"entity.name.tag.xml"
89
},
90
"4":{
91
"name":"entity.name.tag.namespace.xml"
92
},
93
"5":{
94
"name":"punctuation.separator.namespace.xml"
95
},
96
"6":{
97
"name":"entity.name.tag.localname.xml"
98
},
99
"7":{
100
"name":"punctuation.definition.tag.xml"
101
}
102
},
103
"name":"meta.tag.no-content.xml",
104
"patterns":[
105
{
106
"include":"#tagStuff"
107
}
108
]
109
},
110
{
111
"begin":"(</?)(?:([-\\w\\.]+)((:)))?([-\\w\\.:]+)",
112
"captures":{
113
"1":{
114
"name":"punctuation.definition.tag.xml"
115
},
116
"2":{
117
"name":"entity.name.tag.namespace.xml"
118
},
119
"3":{
120
"name":"entity.name.tag.xml"
121
},
122
"4":{
123
"name":"punctuation.separator.namespace.xml"
124
},
125
"5":{
126
"name":"entity.name.tag.localname.xml"
127
}
128
},
129
"end":"(/?>)",
130
"name":"meta.tag.xml",
131
"patterns":[
132
{
133
"include":"#tagStuff"
134
}
135
]
136
},
137
{
138
"include":"#entity"
139
},
140
{
141
"include":"#bare-ampersand"
142
},
143
{
144
"begin":"<%@",
145
"beginCaptures":{
146
"0":{
147
"name":"punctuation.section.embedded.begin.xml"
148
}
149
},
150
"end":"%>",
151
"endCaptures":{
152
"0":{
153
"name":"punctuation.section.embedded.end.xml"
154
}
155
},
156
"name":"source.java-props.embedded.xml",
157
"patterns":[
158
{
159
"match":"page|include|taglib",
160
"name":"keyword.other.page-props.xml"
161
}
162
]
163
},
164
{
165
"begin":"<%[!=]?(?!--)",
166
"beginCaptures":{
167
"0":{
168
"name":"punctuation.section.embedded.begin.xml"
169
}
170
},
171
"end":"(?!--)%>",
172
"endCaptures":{
173
"0":{
174
"name":"punctuation.section.embedded.end.xml"
175
}
176
},
177
"name":"source.java.embedded.xml",
178
"patterns":[
179
{
180
"include":"source.java"
181
}
182
]
183
},
184
{
185
"begin":"<!\\[CDATA\\[",
186
"beginCaptures":{
187
"0":{
188
"name":"punctuation.definition.string.begin.xml"
189
}
190
},
191
"end":"]]>",
192
"endCaptures":{
193
"0":{
194
"name":"punctuation.definition.string.end.xml"
195
}
196
},
197
"name":"string.unquoted.cdata.xml"
198
}
199
],
200
"repository":{
201
"EntityDecl":{
202
"begin":"(<!)(ENTITY)\\s+(%\\s+)?([:a-zA-Z_][:a-zA-Z0-9_.-]*)(\\s+(?:SYSTEM|PUBLIC)\\s+)?",
203
"captures":{
204
"1":{
205
"name":"punctuation.definition.tag.xml"
206
},
207
"2":{
208
"name":"keyword.other.entity.xml"
209
},
210
"3":{
211
"name":"punctuation.definition.entity.xml"
212
},
213
"4":{
214
"name":"variable.language.entity.xml"
215
},
216
"5":{
217
"name":"keyword.other.entitytype.xml"
218
}
219
},
220
"end":"(>)",
221
"patterns":[
222
{
223
"include":"#doublequotedString"
224
},
225
{
226
"include":"#singlequotedString"
227
}
228
]
229
},
230
"bare-ampersand":{
231
"match":"&",
232
"name":"invalid.illegal.bad-ampersand.xml"
233
},
234
"doublequotedString":{
235
"begin":"\"",
236
"beginCaptures":{
237
"0":{
238
"name":"punctuation.definition.string.begin.xml"
239
}
240
},
241
"end":"\"",
242
"endCaptures":{
243
"0":{
244
"name":"punctuation.definition.string.end.xml"
245
}
246
},
247
"name":"string.quoted.double.xml",
248
"patterns":[
249
{
250
"include":"#entity"
251
},
252
{
253
"include":"#bare-ampersand"
254
}
255
]
256
},
257
"entity":{
258
"captures":{
259
"1":{
260
"name":"punctuation.definition.constant.xml"
261
},
262
"3":{
263
"name":"punctuation.definition.constant.xml"
264
}
265
},
266
"match":"(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)",
267
"name":"constant.character.entity.xml"
268
},
269
"internalSubset":{
270
"begin":"(\\[)",
271
"captures":{
272
"1":{
273
"name":"punctuation.definition.constant.xml"
274
}
275
},
276
"end":"(\\])",
277
"name":"meta.internalsubset.xml",
278
"patterns":[
279
{
280
"include":"#EntityDecl"
281
},
282
{
283
"include":"#parameterEntity"
284
},
285
{
286
"include":"#comments"
287
}
288
]
289
},
290
"parameterEntity":{
291
"captures":{
292
"1":{
293
"name":"punctuation.definition.constant.xml"
294
},
295
"3":{
296
"name":"punctuation.definition.constant.xml"
297
}
298
},
299
"match":"(%)([:a-zA-Z_][:a-zA-Z0-9_.-]*)(;)",
300
"name":"constant.character.parameter-entity.xml"
301
},
302
"singlequotedString":{
303
"begin":"'",
304
"beginCaptures":{
305
"0":{
306
"name":"punctuation.definition.string.begin.xml"
307
}
308
},
309
"end":"'",
310
"endCaptures":{
311
"0":{
312
"name":"punctuation.definition.string.end.xml"
313
}
314
},
315
"name":"string.quoted.single.xml",
316
"patterns":[
317
{
318
"include":"#entity"
319
},
320
{
321
"include":"#bare-ampersand"
322
}
323
]
324
},
325
"tagStuff":{
326
"patterns":[
327
{
328
"captures":{
329
"1":{
330
"name":"entity.other.attribute-name.namespace.xml"
331
},
332
"2":{
333
"name":"entity.other.attribute-name.xml"
334
},
335
"3":{
336
"name":"punctuation.separator.namespace.xml"
337
},
338
"4":{
339
"name":"entity.other.attribute-name.localname.xml"
340
}
341
},
342
"match":"(?:^|\\s+)(?:([-\\w.]+)((:)))?([-\\w.:]+)\\s*="
343
},
344
{
345
"include":"#doublequotedString"
346
},
347
{
348
"include":"#singlequotedString"
349
}
350
]
351
},
352
"comments":{
353
"patterns":[
354
{
355
"begin":"<%--",
356
"captures":{
357
"0":{
358
"name":"punctuation.definition.comment.xml"
359
},
360
"end":"--%>",
361
"name":"comment.block.xml"
362
}
363
},
364
{
365
"begin":"<!--",
366
"captures":{
367
"0":{
368
"name":"punctuation.definition.comment.xml"
369
}
370
},
371
"end":"-->",
372
"name":"comment.block.xml",
373
"patterns":[
374
{
375
"begin":"--(?!>)",
376
"captures":{
377
"0":{
378
"name":"invalid.illegal.bad-comments-or-CDATA.xml"
379
}
380
}
381
}
382
]
383
}
384
]
385
}
386
}
387
}