1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0">
4<dict>
5 <key>fileTypes</key>
6 <array>
7 <string>json</string>
8 <string>sublime-settings</string>
9 <string>sublime-menu</string>
10 <string>sublime-keymap</string>
11 <string>sublime-mousemap</string>
12 <string>sublime-theme</string>
13 <string>sublime-build</string>
14 <string>sublime-project</string>
15 <string>sublime-completions</string>
16 </array>
17 <key>foldingStartMarker</key>
18 <string>(?x) # turn on extended mode
19 ^ # a line beginning with
20 \s* # some optional space
21 [{\[] # the start of an object or array
22 (?! # but not followed by
23 .* # whatever
24 [}\]] # and the close of an object or array
25 ,? # an optional comma
26 \s* # some optional space
27 $ # at the end of the line
28 )
29 | # ...or...
30 [{\[] # the start of an object or array
31 \s* # some optional space
32 $ # at the end of the line</string>
33 <key>foldingStopMarker</key>
34 <string>(?x) # turn on extended mode
35 ^ # a line beginning with
36 \s* # some optional space
37 [}\]] # and the close of an object or array</string>
38 <key>keyEquivalent</key>
39 <string>^~J</string>
40 <key>name</key>
41 <string>JSON (Javascript Next)</string>
42 <key>patterns</key>
43 <array>
44 <dict>
45 <key>include</key>
46 <string>#value</string>
47 </dict>
48 </array>
49 <key>repository</key>
50 <dict>
51 <key>array</key>
52 <dict>
53 <key>begin</key>
54 <string>\[</string>
55 <key>beginCaptures</key>
56 <dict>
57 <key>0</key>
58 <dict>
59 <key>name</key>
60 <string>punctuation.definition.array.begin.json</string>
61 </dict>
62 </dict>
63 <key>end</key>
64 <string>\]</string>
65 <key>endCaptures</key>
66 <dict>
67 <key>0</key>
68 <dict>
69 <key>name</key>
70 <string>punctuation.definition.array.end.json</string>
71 </dict>
72 </dict>
73 <key>name</key>
74 <string>meta.structure.array.json</string>
75 <key>patterns</key>
76 <array>
77 <dict>
78 <key>include</key>
79 <string>#value</string>
80 </dict>
81 <dict>
82 <key>match</key>
83 <string>,</string>
84 <key>name</key>
85 <string>punctuation.separator.array.json</string>
86 </dict>
87 <dict>
88 <key>match</key>
89 <string>[^\s\]]</string>
90 <key>name</key>
91 <string>invalid.illegal.expected-array-separator.json</string>
92 </dict>
93 </array>
94 </dict>
95 <key>comments</key>
96 <dict>
97 <key>patterns</key>
98 <array>
99 <dict>
100 <key>begin</key>
101 <string>/\*\*(?!/)</string>
102 <key>captures</key>
103 <dict>
104 <key>0</key>
105 <dict>
106 <key>name</key>
107 <string>punctuation.definition.comment.json</string>
108 </dict>
109 </dict>
110 <key>end</key>
111 <string>\*/</string>
112 <key>name</key>
113 <string>comment.block.documentation.json</string>
114 </dict>
115 <dict>
116 <key>begin</key>
117 <string>/\*</string>
118 <key>captures</key>
119 <dict>
120 <key>0</key>
121 <dict>
122 <key>name</key>
123 <string>punctuation.definition.comment.json</string>
124 </dict>
125 </dict>
126 <key>end</key>
127 <string>\*/</string>
128 <key>name</key>
129 <string>comment.block.json</string>
130 </dict>
131 <dict>
132 <key>captures</key>
133 <dict>
134 <key>1</key>
135 <dict>
136 <key>name</key>
137 <string>punctuation.definition.comment.json</string>
138 </dict>
139 </dict>
140 <key>match</key>
141 <string>(//).*$\n?</string>
142 <key>name</key>
143 <string>comment.line.double-slash.js</string>
144 </dict>
145 </array>
146 </dict>
147 <key>constant</key>
148 <dict>
149 <key>match</key>
150 <string>\b(?:true|false|null)\b</string>
151 <key>name</key>
152 <string>constant.language.json</string>
153 </dict>
154 <key>number</key>
155 <dict>
156 <key>match</key>
157 <string>(?x) # turn on extended mode
158 -? # an optional minus
159 (?:
160 0 # a zero
161 | # ...or...
162 [1-9] # a 1-9 character
163 \d* # followed by zero or more digits
164 )
165 (?:
166 (?:
167 \. # a period
168 \d+ # followed by one or more digits
169 )?
170 (?:
171 [eE] # an e character
172 [+-]? # followed by an option +/-
173 \d+ # followed by one or more digits
174 )? # make exponent optional
175 )? # make decimal portion optional</string>
176 <key>name</key>
177 <string>constant.numeric.json</string>
178 </dict>
179 <key>object</key>
180 <dict>
181 <key>begin</key>
182 <string>\{</string>
183 <key>beginCaptures</key>
184 <dict>
185 <key>0</key>
186 <dict>
187 <key>name</key>
188 <string>punctuation.definition.dictionary.begin.json</string>
189 </dict>
190 </dict>
191 <key>end</key>
192 <string>\}</string>
193 <key>endCaptures</key>
194 <dict>
195 <key>0</key>
196 <dict>
197 <key>name</key>
198 <string>punctuation.definition.dictionary.end.json</string>
199 </dict>
200 </dict>
201 <key>name</key>
202 <string>meta.structure.dictionary.json</string>
203 <key>patterns</key>
204 <array>
205 <dict>
206 <key>comment</key>
207 <string>the JSON object key</string>
208 <key>include</key>
209 <string>#objectkey</string>
210 </dict>
211 <dict>
212 <key>include</key>
213 <string>#comments</string>
214 </dict>
215 <dict>
216 <key>begin</key>
217 <string>:</string>
218 <key>beginCaptures</key>
219 <dict>
220 <key>0</key>
221 <dict>
222 <key>name</key>
223 <string>punctuation.separator.dictionary.key-value.json</string>
224 </dict>
225 </dict>
226 <key>end</key>
227 <string>(,)|(?=\})</string>
228 <key>endCaptures</key>
229 <dict>
230 <key>1</key>
231 <dict>
232 <key>name</key>
233 <string>punctuation.separator.dictionary.pair.json</string>
234 </dict>
235 </dict>
236 <key>name</key>
237 <string>meta.structure.dictionary.value.json</string>
238 <key>patterns</key>
239 <array>
240 <dict>
241 <key>comment</key>
242 <string>the JSON object value</string>
243 <key>include</key>
244 <string>#value</string>
245 </dict>
246 <dict>
247 <key>match</key>
248 <string>[^\s,]</string>
249 <key>name</key>
250 <string>invalid.illegal.expected-dictionary-separator.json</string>
251 </dict>
252 </array>
253 </dict>
254 <dict>
255 <key>match</key>
256 <string>[^\s\}]</string>
257 <key>name</key>
258 <string>invalid.illegal.expected-dictionary-separator.json</string>
259 </dict>
260 </array>
261 </dict>
262 <key>string</key>
263 <dict>
264 <key>begin</key>
265 <string>"</string>
266 <key>beginCaptures</key>
267 <dict>
268 <key>0</key>
269 <dict>
270 <key>name</key>
271 <string>punctuation.definition.string.begin.json</string>
272 </dict>
273 </dict>
274 <key>end</key>
275 <string>"</string>
276 <key>endCaptures</key>
277 <dict>
278 <key>0</key>
279 <dict>
280 <key>name</key>
281 <string>punctuation.definition.string.end.json</string>
282 </dict>
283 </dict>
284 <key>name</key>
285 <string>string.quoted.double.json</string>
286 <key>patterns</key>
287 <array>
288 <dict>
289 <key>include</key>
290 <string>#stringcontent</string>
291 </dict>
292 </array>
293 </dict>
294 <key>objectkey</key>
295 <dict>
296 <key>begin</key>
297 <string>"</string>
298 <key>beginCaptures</key>
299 <dict>
300 <key>0</key>
301 <dict>
302 <key>name</key>
303 <string>punctuation.support.type.property-name.begin.json</string>
304 </dict>
305 </dict>
306 <key>end</key>
307 <string>"</string>
308 <key>endCaptures</key>
309 <dict>
310 <key>0</key>
311 <dict>
312 <key>name</key>
313 <string>punctuation.support.type.property-name.end.json</string>
314 </dict>
315 </dict>
316 <key>name</key>
317 <string>string.json support.type.property-name.json</string>
318 <key>patterns</key>
319 <array>
320 <dict>
321 <key>include</key>
322 <string>#stringcontent</string>
323 </dict>
324 </array>
325 </dict>
326 <key>stringcontent</key>
327 <dict>
328 <key>patterns</key>
329 <array>
330 <dict>
331 <key>match</key>
332 <string>(?x) # turn on extended mode
333 \\ # a literal backslash
334 (?: # ...followed by...
335 ["\\/bfnrt] # one of these characters
336 | # ...or...
337 u # a u
338 [0-9a-fA-F]{4}) # and four hex digits</string>
339 <key>name</key>
340 <string>constant.character.escape.json</string>
341 </dict>
342 <dict>
343 <key>match</key>
344 <string>\\.</string>
345 <key>name</key>
346 <string>invalid.illegal.unrecognized-string-escape.json</string>
347 </dict>
348 </array>
349 </dict>
350 <key>value</key>
351 <dict>
352 <key>patterns</key>
353 <array>
354 <dict>
355 <key>include</key>
356 <string>#constant</string>
357 </dict>
358 <dict>
359 <key>include</key>
360 <string>#number</string>
361 </dict>
362 <dict>
363 <key>include</key>
364 <string>#string</string>
365 </dict>
366 <dict>
367 <key>include</key>
368 <string>#array</string>
369 </dict>
370 <dict>
371 <key>include</key>
372 <string>#object</string>
373 </dict>
374 <dict>
375 <key>include</key>
376 <string>#comments</string>
377 </dict>
378 </array>
379 </dict>
380 </dict>
381 <key>scopeName</key>
382 <string>source.json</string>
383 <key>uuid</key>
384 <string>8f97457b-516e-48ce-83c7-08ae12fb327a</string>
385</dict>
386</plist>