PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.4
Code Block Pro – Beautiful Syntax Highlighting v1.27.4
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / julia.tmLanguage.json

julia.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.4, at build/shiki/languages/julia.tmLanguage.json

1,187 lines 43.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "information_for_contributors": [
3 "This file has been converted from https://github.com/JuliaEditorSupport/atom-language-julia/blob/master/grammars/julia_vscode.json",
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/JuliaEditorSupport/atom-language-julia/commit/8747e069119b24bff2703374d7961e3446a74034",
8 "name": "julia",
9 "scopeName": "source.julia",
10 "comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/",
11 "patterns": [
12 {
13 "include": "#operator"
14 },
15 {
16 "include": "#array"
17 },
18 {
19 "include": "#string"
20 },
21 {
22 "include": "#parentheses"
23 },
24 {
25 "include": "#bracket"
26 },
27 {
28 "include": "#function_decl"
29 },
30 {
31 "include": "#function_call"
32 },
33 {
34 "include": "#for_block"
35 },
36 {
37 "include": "#keyword"
38 },
39 {
40 "include": "#number"
41 },
42 {
43 "include": "#comment"
44 },
45 {
46 "include": "#type_decl"
47 },
48 {
49 "include": "#symbol"
50 }
51 ],
52 "repository": {
53 "array": {
54 "patterns": [
55 {
56 "begin": "\\[",
57 "beginCaptures": {
58 "0": {
59 "name": "meta.bracket.julia"
60 }
61 },
62 "end": "(\\])((?:\\.)?'*)",
63 "endCaptures": {
64 "1": {
65 "name": "meta.bracket.julia"
66 },
67 "2": {
68 "name": "keyword.operator.transpose.julia"
69 }
70 },
71 "name": "meta.array.julia",
72 "patterns": [
73 {
74 "match": "\\bbegin\\b",
75 "name": "constant.numeric.julia"
76 },
77 {
78 "match": "\\bend\\b",
79 "name": "constant.numeric.julia"
80 },
81 {
82 "include": "#self_no_for_block"
83 }
84 ]
85 }
86 ]
87 },
88 "parentheses": {
89 "patterns": [
90 {
91 "begin": "\\(",
92 "beginCaptures": {
93 "0": {
94 "name": "meta.bracket.julia"
95 }
96 },
97 "end": "(\\))((?:\\.)?'*)",
98 "endCaptures": {
99 "1": {
100 "name": "meta.bracket.julia"
101 },
102 "2": {
103 "name": "keyword.operator.transpose.julia"
104 }
105 },
106 "patterns": [
107 {
108 "include": "#self_no_for_block"
109 }
110 ]
111 }
112 ]
113 },
114 "bracket": {
115 "patterns": [
116 {
117 "begin": "\\{",
118 "beginCaptures": {
119 "0": {
120 "name": "meta.bracket.julia"
121 }
122 },
123 "end": "(\\})((?:\\.)?'*)",
124 "endCaptures": {
125 "1": {
126 "name": "meta.bracket.julia"
127 },
128 "2": {
129 "name": "keyword.operator.transpose.julia"
130 }
131 },
132 "patterns": [
133 {
134 "include": "#self_no_for_block"
135 }
136 ]
137 }
138 ]
139 },
140 "comment_tags": {
141 "patterns": [
142 {
143 "match": "\\bTODO\\b",
144 "name": "keyword.other.comment-annotation.julia"
145 },
146 {
147 "match": "\\bFIXME\\b",
148 "name": "keyword.other.comment-annotation.julia"
149 },
150 {
151 "match": "\\bCHANGED\\b",
152 "name": "keyword.other.comment-annotation.julia"
153 },
154 {
155 "match": "\\bXXX\\b",
156 "name": "keyword.other.comment-annotation.julia"
157 }
158 ]
159 },
160 "comment": {
161 "patterns": [
162 {
163 "include": "#comment_block"
164 },
165 {
166 "begin": "#",
167 "beginCaptures": {
168 "0": {
169 "name": "punctuation.definition.comment.julia"
170 }
171 },
172 "end": "\\n",
173 "name": "comment.line.number-sign.julia",
174 "patterns": [
175 {
176 "include": "#comment_tags"
177 }
178 ]
179 }
180 ]
181 },
182 "comment_block": {
183 "patterns": [
184 {
185 "begin": "#=",
186 "beginCaptures": {
187 "0": {
188 "name": "punctuation.definition.comment.begin.julia"
189 }
190 },
191 "end": "=#",
192 "endCaptures": {
193 "0": {
194 "name": "punctuation.definition.comment.end.julia"
195 }
196 },
197 "name": "comment.block.number-sign-equals.julia",
198 "patterns": [
199 {
200 "include": "#comment_tags"
201 },
202 {
203 "include": "#comment_block"
204 }
205 ]
206 }
207 ]
208 },
209 "function_call": {
210 "patterns": [
211 {
212 "begin": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
213 �-�
214 �∿⊾⊿⊤⊥∂�
215 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
216 �-�
217 �∿⊾⊿⊤⊥∂�
218 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()",
219 "beginCaptures": {
220 "1": {
221 "name": "support.function.julia"
222 },
223 "2": {
224 "name": "support.type.julia"
225 },
226 "3": {
227 "name": "meta.bracket.julia"
228 }
229 },
230 "end": "\\)(('|(\\.'))*\\.?')?",
231 "endCaptures": {
232 "0": {
233 "name": "meta.bracket.julia"
234 },
235 "1": {
236 "name": "keyword.operator.transposed-func.julia"
237 }
238 },
239 "patterns": [
240 {
241 "include": "#self_no_for_block"
242 }
243 ]
244 }
245 ]
246 },
247 "function_decl": {
248 "patterns": [
249 {
250 "captures": {
251 "1": {
252 "name": "entity.name.function.julia"
253 },
254 "2": {
255 "name": "support.type.julia"
256 }
257 },
258 "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
259 �-�
260 �∿⊾⊿⊤⊥∂�
261 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
262 �-�
263 �∿⊾⊿⊤⊥∂�
264 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\([^#]*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=>]))",
265 "comment": "first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function arguments)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)"
266 },
267 {
268 "captures": {
269 "1": {
270 "name": "keyword.other.julia"
271 },
272 "2": {
273 "name": "keyword.operator.dots.julia"
274 },
275 "3": {
276 "name": "entity.name.function.julia"
277 },
278 "4": {
279 "name": "support.type.julia"
280 }
281 },
282 "match": "\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
283 �-�
284 �∿⊾⊿⊤⊥∂�
285 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
286 �-�
287 �∿⊾⊿⊤⊥∂�
288 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
289 �-�
290 �∿⊾⊿⊤⊥∂�
291 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
292 �-�
293 �∿⊾⊿⊤⊥∂�
294 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
295 "comment": "similar regex to previous, but with keyword not 1-line syntax"
296 }
297 ]
298 },
299 "for_block": {
300 "comment": "for blocks need to be special-cased to support tokenizing 'outer' properly",
301 "patterns": [
302 {
303 "begin": "\\b(for)\\b",
304 "beginCaptures": {
305 "0": {
306 "name": "keyword.control.julia"
307 }
308 },
309 "end": "(?<!,|\\s)(\\s*\\n)",
310 "patterns": [
311 {
312 "match": "\\bouter\\b",
313 "name": "keyword.other.julia"
314 },
315 {
316 "include": "$self"
317 }
318 ]
319 }
320 ]
321 },
322 "keyword": {
323 "patterns": [
324 {
325 "match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b",
326 "name": "keyword.other.julia"
327 },
328 {
329 "match": "\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b",
330 "name": "keyword.control.julia"
331 },
332 {
333 "match": "\\b(?<![:_])end\\b",
334 "name": "keyword.control.end.julia"
335 },
336 {
337 "match": "\\b(?<![:_])(?:global|local|const)\\b",
338 "name": "keyword.storage.modifier.julia"
339 },
340 {
341 "match": "\\b(?<![:_])(?:export)\\b",
342 "name": "keyword.control.export.julia"
343 },
344 {
345 "match": "\\b(?<![:_])(?:import)\\b",
346 "name": "keyword.control.import.julia"
347 },
348 {
349 "match": "\\b(?<![:_])(?:using)\\b",
350 "name": "keyword.control.using.julia"
351 },
352 {
353 "match": "(?<=\\w\\s)\\b(as)\\b(?=\\s\\w)",
354 "name": "keyword.control.as.julia"
355 },
356 {
357 "match": "(@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
358 �-�
359 �∿⊾⊿⊤⊥∂�
360 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
361 �-�
362 �∿⊾⊿⊤⊥∂�
363 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*))",
364 "name": "support.function.macro.julia"
365 }
366 ]
367 },
368 "number": {
369 "patterns": [
370 {
371 "match": "((?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
372 �-�
373 �∿⊾⊿⊤⊥∂�
374 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-]))(?:(?:\\b0(?:x|X)[0-9a-fA-F](?:_?[0-9a-fA-F])*)|(?:\\b0o[0-7](?:_?[0-7])*)|(?:\\b0b[0-1](?:_?[0-1])*)|(?:(?:\\b[0-9](?:_?[0-9])*\\.?(?!\\.)(?:[_0-9]*))|(?:\\b\\.[0-9](?:_?[0-9])*))(?:[efE][+-]?[0-9](?:_?[0-9])*)?(?:im\\b|Inf(?:16|32|64)?\\b|NaN(?:16|32|64)?\\b|π\\b|pi\\b|\\b)?|\\b[0-9]+|\\bInf(?:16|32|64)?\\b|\\bNaN(?:16|32|64)?\\b|\\bπ\\b|\\bpi\\b|\\b\\b))('*)",
375 "captures": {
376 "1": {
377 "name": "constant.numeric.julia"
378 },
379 "2": {
380 "name": "keyword.operator.conjugate-number.julia"
381 }
382 }
383 },
384 {
385 "match": "\\bARGS\\b|\\bC_NULL\\b|\\bDEPOT_PATH\\b|\\bENDIAN_BOM\\b|\\bENV\\b|\\bLOAD_PATH\\b|\\bPROGRAM_FILE\\b|\\bstdin\\b|\\bstdout\\b|\\bstderr\\b|\\bVERSION\\b|\\bdevnull\\b",
386 "name": "constant.global.julia"
387 },
388 {
389 "match": "\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b",
390 "name": "constant.language.julia"
391 }
392 ]
393 },
394 "operator": {
395 "patterns": [
396 {
397 "match": "(?:->|<-|-->|=>)",
398 "name": "keyword.operator.arrow.julia"
399 },
400 {
401 "match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=))",
402 "name": "keyword.operator.update.julia"
403 },
404 {
405 "match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)",
406 "name": "keyword.operator.shift.julia"
407 },
408 {
409 "match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?<!\\\\)\"))?)))(?:\\.\\.\\.)?((?:\\.)?'*)",
410 "captures": {
411 "1": {
412 "name": "keyword.operator.relation.types.julia"
413 },
414 "2": {
415 "name": "support.type.julia"
416 },
417 "3": {
418 "name": "keyword.operator.transpose.julia"
419 }
420 }
421 },
422 {
423 "match": "(?:===|∈|\\.∈|∉|\\.∉|∋|\\.∋|∌|\\.∌|≈|\\.≈|≉|\\.≉|≠|\\.≠|≡|\\.≡|≢|\\.≢|⊆|\\.⊆|⊇|\\.⊇|⊈|\\.⊈|⊉|\\.⊉|⊊|\\.⊊|⊋|\\.⊋|\\.==|!==|!=|\\.>=|\\.>|\\.<=|\\.<|\\.≤|\\.≥|==|\\.!=|\\.=|\\.!|<:|>:|:>|(?<!>)>=|(?<!<)<=|>|<|≥|≤)",
424 "name": "keyword.operator.relation.julia"
425 },
426 {
427 "match": "(?<=\\s)(?:\\?)(?=\\s)",
428 "name": "keyword.operator.ternary.julia"
429 },
430 {
431 "match": "(?<=\\s)(?:\\:)(?=\\s)",
432 "name": "keyword.operator.ternary.julia"
433 },
434 {
435 "match": "(?:\\|\\||&&|(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
436 �-�
437 �∿⊾⊿⊤⊥∂�
438 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-]))!)",
439 "name": "keyword.operator.boolean.julia"
440 },
441 {
442 "match": "(?<=[[:word:]-!\\)\\]\\}])(?::)",
443 "name": "keyword.operator.range.julia"
444 },
445 {
446 "match": "(?:\\|>)",
447 "name": "keyword.operator.applies.julia"
448 },
449 {
450 "match": "(?:\\||\\.\\||\\&|\\.\\&|~|\\.~|⊻|\\.⊻)",
451 "name": "keyword.operator.bitwise.julia"
452 },
453 {
454 "match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^|÷|\\.÷|�
455 |\\.�
456 |∩|\\.∩|∪|\\.∪|×|√|∛)",
457 "name": "keyword.operator.arithmetic.julia"
458 },
459 {
460 "match": "(?:∘)",
461 "name": "keyword.operator.compose.julia"
462 },
463 {
464 "match": "(?:::|(?<=\\s)isa(?=\\s))",
465 "name": "keyword.operator.isa.julia"
466 },
467 {
468 "match": "(?:(?<=\\s)in(?=\\s))",
469 "name": "keyword.operator.relation.in.julia"
470 },
471 {
472 "match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+)",
473 "name": "keyword.operator.dots.julia"
474 },
475 {
476 "match": "(?:\\$)(?=.+)",
477 "name": "keyword.operator.interpolation.julia"
478 },
479 {
480 "captures": {
481 "2": {
482 "name": "keyword.operator.transposed-variable.julia"
483 }
484 },
485 "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
486 �-�
487 �∿⊾⊿⊤⊥∂�
488 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
489 �-�
490 �∿⊾⊿⊤⊥∂�
491 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)(('|(\\.'))*\\.?')"
492 },
493 {
494 "captures": {
495 "1": {
496 "name": "bracket.end.julia"
497 },
498 "2": {
499 "name": "keyword.operator.transposed-matrix.julia"
500 }
501 },
502 "match": "(\\])((?:'|(?:\\.'))*\\.?')"
503 },
504 {
505 "captures": {
506 "1": {
507 "name": "bracket.end.julia"
508 },
509 "2": {
510 "name": "keyword.operator.transposed-parens.julia"
511 }
512 },
513 "match": "(\\))((?:'|(?:\\.'))*\\.?')"
514 }
515 ]
516 },
517 "string": {
518 "patterns": [
519 {
520 "begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))",
521 "beginCaptures": {
522 "1": {
523 "name": "support.function.macro.julia"
524 },
525 "2": {
526 "name": "punctuation.definition.string.begin.julia"
527 }
528 },
529 "end": "(\"\"\") ?(->)?",
530 "endCaptures": {
531 "1": {
532 "name": "punctuation.definition.string.end.julia"
533 },
534 "2": {
535 "name": "keyword.operator.arrow.julia"
536 }
537 },
538 "name": "string.docstring.julia",
539 "patterns": [
540 {
541 "include": "#string_escaped_char"
542 },
543 {
544 "include": "#string_dollar_sign_interpolate"
545 }
546 ]
547 },
548 {
549 "begin": "(i?cxx)(\"\"\")",
550 "beginCaptures": {
551 "1": {
552 "name": "support.function.macro.julia"
553 },
554 "2": {
555 "name": "punctuation.definition.string.begin.julia"
556 }
557 },
558 "end": "\"\"\"",
559 "endCaptures": {
560 "0": {
561 "name": "punctuation.definition.string.end.julia"
562 }
563 },
564 "name": "embed.cxx.julia",
565 "contentName": "meta.embedded.inline.cpp",
566 "patterns": [
567 {
568 "include": "source.cpp#root_context"
569 },
570 {
571 "include": "#string_dollar_sign_interpolate"
572 }
573 ]
574 },
575 {
576 "begin": "(py)(\"\"\")",
577 "beginCaptures": {
578 "1": {
579 "name": "support.function.macro.julia"
580 },
581 "2": {
582 "name": "punctuation.definition.string.begin.julia"
583 }
584 },
585 "end": "([\\s\\w]*)(\"\"\")",
586 "endCaptures": {
587 "2": {
588 "name": "punctuation.definition.string.end.julia"
589 }
590 },
591 "name": "embed.python.julia",
592 "contentName": "meta.embedded.inline.python",
593 "patterns": [
594 {
595 "include": "source.python"
596 },
597 {
598 "include": "#string_dollar_sign_interpolate"
599 }
600 ]
601 },
602 {
603 "begin": "(js)(\"\"\")",
604 "beginCaptures": {
605 "1": {
606 "name": "support.function.macro.julia"
607 },
608 "2": {
609 "name": "punctuation.definition.string.begin.julia"
610 }
611 },
612 "end": "\"\"\"",
613 "endCaptures": {
614 "0": {
615 "name": "punctuation.definition.string.end.julia"
616 }
617 },
618 "name": "embed.js.julia",
619 "contentName": "meta.embedded.inline.javascript",
620 "patterns": [
621 {
622 "include": "source.js"
623 },
624 {
625 "include": "#string_dollar_sign_interpolate"
626 }
627 ]
628 },
629 {
630 "begin": "(R)(\"\"\")",
631 "beginCaptures": {
632 "1": {
633 "name": "support.function.macro.julia"
634 },
635 "2": {
636 "name": "punctuation.definition.string.begin.julia"
637 }
638 },
639 "end": "\"\"\"",
640 "endCaptures": {
641 "0": {
642 "name": "punctuation.definition.string.end.julia"
643 }
644 },
645 "name": "embed.R.julia",
646 "contentName": "meta.embedded.inline.r",
647 "patterns": [
648 {
649 "include": "source.r"
650 },
651 {
652 "include": "#string_dollar_sign_interpolate"
653 }
654 ]
655 },
656 {
657 "begin": "(raw)(\"\"\")",
658 "beginCaptures": {
659 "1": {
660 "name": "support.function.macro.julia"
661 },
662 "2": {
663 "name": "punctuation.definition.string.begin.julia"
664 }
665 },
666 "end": "\"\"\"",
667 "name": "string.quoted.other.julia",
668 "endCaptures": {
669 "0": {
670 "name": "punctuation.definition.string.end.julia"
671 }
672 },
673 "patterns": [
674 {
675 "include": "#string_escaped_char"
676 }
677 ]
678 },
679 {
680 "begin": "(raw)(\")",
681 "beginCaptures": {
682 "1": {
683 "name": "support.function.macro.julia"
684 },
685 "2": {
686 "name": "punctuation.definition.string.begin.julia"
687 }
688 },
689 "end": "\"",
690 "name": "string.quoted.other.julia",
691 "endCaptures": {
692 "0": {
693 "name": "punctuation.definition.string.end.julia"
694 }
695 },
696 "patterns": [
697 {
698 "include": "#string_escaped_char"
699 }
700 ]
701 },
702 {
703 "begin": "(sql)(\"\"\")",
704 "beginCaptures": {
705 "1": {
706 "name": "support.function.macro.julia"
707 },
708 "2": {
709 "name": "punctuation.definition.string.begin.julia"
710 }
711 },
712 "end": "\"\"\"",
713 "endCaptures": {
714 "0": {
715 "name": "punctuation.definition.string.end.julia"
716 }
717 },
718 "name": "embed.sql.julia",
719 "contentName": "meta.embedded.inline.sql",
720 "patterns": [
721 {
722 "include": "source.sql"
723 },
724 {
725 "include": "#string_dollar_sign_interpolate"
726 }
727 ]
728 },
729 {
730 "begin": "var\"\"\"",
731 "end": "\"\"\"",
732 "name": "constant.other.symbol.julia",
733 "patterns": [
734 {
735 "include": "#string_escaped_char"
736 }
737 ]
738 },
739 {
740 "begin": "var\"",
741 "end": "\"",
742 "name": "constant.other.symbol.julia",
743 "patterns": [
744 {
745 "include": "#string_escaped_char"
746 }
747 ]
748 },
749 {
750 "begin": "^\\s?(doc)?(\"\"\")\\s?$",
751 "beginCaptures": {
752 "1": {
753 "name": "support.function.macro.julia"
754 },
755 "2": {
756 "name": "punctuation.definition.string.begin.julia"
757 }
758 },
759 "end": "(\"\"\")",
760 "endCaptures": {
761 "1": {
762 "name": "punctuation.definition.string.end.julia"
763 }
764 },
765 "name": "string.docstring.julia",
766 "comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",
767 "patterns": [
768 {
769 "include": "#string_escaped_char"
770 },
771 {
772 "include": "#string_dollar_sign_interpolate"
773 }
774 ]
775 },
776 {
777 "begin": "'",
778 "beginCaptures": {
779 "0": {
780 "name": "punctuation.definition.string.begin.julia"
781 }
782 },
783 "end": "'(?!')",
784 "endCaptures": {
785 "0": {
786 "name": "punctuation.definition.string.end.julia"
787 }
788 },
789 "name": "string.quoted.single.julia",
790 "patterns": [
791 {
792 "include": "#string_escaped_char"
793 }
794 ]
795 },
796 {
797 "begin": "\"\"\"",
798 "beginCaptures": {
799 "0": {
800 "name": "punctuation.definition.string.multiline.begin.julia"
801 }
802 },
803 "end": "\"\"\"",
804 "endCaptures": {
805 "0": {
806 "name": "punctuation.definition.string.multiline.end.julia"
807 }
808 },
809 "name": "string.quoted.triple.double.julia",
810 "comment": "multi-line string with triple double quotes",
811 "patterns": [
812 {
813 "include": "#string_escaped_char"
814 },
815 {
816 "include": "#string_dollar_sign_interpolate"
817 }
818 ]
819 },
820 {
821 "name": "string.quoted.double.julia",
822 "begin": "\"(?!\"\")",
823 "beginCaptures": {
824 "0": {
825 "name": "punctuation.definition.string.begin.julia"
826 }
827 },
828 "end": "\"",
829 "endCaptures": {
830 "0": {
831 "name": "punctuation.definition.string.end.julia"
832 }
833 },
834 "comment": "String with single pair of double quotes. Regex matches isolated double quote",
835 "patterns": [
836 {
837 "include": "#string_escaped_char"
838 },
839 {
840 "include": "#string_dollar_sign_interpolate"
841 }
842 ]
843 },
844 {
845 "begin": "r\"\"\"",
846 "beginCaptures": {
847 "0": {
848 "name": "punctuation.definition.string.regexp.begin.julia"
849 }
850 },
851 "end": "(\"\"\")([imsx]{0,4})?",
852 "endCaptures": {
853 "1": {
854 "name": "punctuation.definition.string.regexp.end.julia"
855 },
856 "2": {
857 "comment": "I took this scope name from python regex grammar",
858 "name": "keyword.other.option-toggle.regexp.julia"
859 }
860 },
861 "name": "string.regexp.julia",
862 "patterns": [
863 {
864 "include": "#string_escaped_char"
865 }
866 ]
867 },
868 {
869 "begin": "r\"",
870 "beginCaptures": {
871 "0": {
872 "name": "punctuation.definition.string.regexp.begin.julia"
873 }
874 },
875 "end": "(\")([imsx]{0,4})?",
876 "endCaptures": {
877 "1": {
878 "name": "punctuation.definition.string.regexp.end.julia"
879 },
880 "2": {
881 "comment": "I took this scope name from python regex grammar",
882 "name": "keyword.other.option-toggle.regexp.julia"
883 }
884 },
885 "name": "string.regexp.julia",
886 "patterns": [
887 {
888 "include": "#string_escaped_char"
889 }
890 ]
891 },
892 {
893 "begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
894 �-�
895 �∿⊾⊿⊤⊥∂�
896 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
897 �-�
898 �∿⊾⊿⊤⊥∂�
899 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)\"\"\"",
900 "beginCaptures": {
901 "0": {
902 "name": "punctuation.definition.string.begin.julia"
903 },
904 "1": {
905 "name": "support.function.macro.julia"
906 }
907 },
908 "end": "(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
909 �-�
910 �∿⊾⊿⊤⊥∂�
911 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
912 �-�
913 �∿⊾⊿⊤⊥∂�
914 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)?",
915 "endCaptures": {
916 "1": {
917 "name": "punctuation.definition.string.end.julia"
918 },
919 "2": {
920 "name": "support.function.macro.julia"
921 }
922 },
923 "name": "string.quoted.other.julia",
924 "patterns": [
925 {
926 "include": "#string_escaped_char"
927 }
928 ]
929 },
930 {
931 "begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
932 �-�
933 �∿⊾⊿⊤⊥∂�
934 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
935 �-�
936 �∿⊾⊿⊤⊥∂�
937 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"",
938 "beginCaptures": {
939 "0": {
940 "name": "punctuation.definition.string.begin.julia"
941 },
942 "1": {
943 "name": "support.function.macro.julia"
944 }
945 },
946 "end": "(?<![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
947 �-�
948 �∿⊾⊿⊤⊥∂�
949 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
950 �-�
951 �∿⊾⊿⊤⊥∂�
952 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)?",
953 "endCaptures": {
954 "1": {
955 "name": "punctuation.definition.string.end.julia"
956 },
957 "2": {
958 "name": "support.function.macro.julia"
959 }
960 },
961 "name": "string.quoted.other.julia",
962 "patterns": [
963 {
964 "include": "#string_escaped_char"
965 }
966 ]
967 },
968 {
969 "begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
970 �-�
971 �∿⊾⊿⊤⊥∂�
972 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
973 �-�
974 �∿⊾⊿⊤⊥∂�
975 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?```",
976 "beginCaptures": {
977 "0": {
978 "name": "punctuation.definition.string.begin.julia"
979 },
980 "1": {
981 "name": "support.function.macro.julia"
982 }
983 },
984 "end": "(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
985 �-�
986 �∿⊾⊿⊤⊥∂�
987 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
988 �-�
989 �∿⊾⊿⊤⊥∂�
990 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)?",
991 "endCaptures": {
992 "1": {
993 "name": "punctuation.definition.string.end.julia"
994 },
995 "2": {
996 "name": "support.function.macro.julia"
997 }
998 },
999 "name": "string.interpolated.backtick.julia",
1000 "patterns": [
1001 {
1002 "include": "#string_escaped_char"
1003 },
1004 {
1005 "include": "#string_dollar_sign_interpolate"
1006 }
1007 ]
1008 },
1009 {
1010 "begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1011 �-�
1012 �∿⊾⊿⊤⊥∂�
1013 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1014 �-�
1015 �∿⊾⊿⊤⊥∂�
1016 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?`",
1017 "beginCaptures": {
1018 "0": {
1019 "name": "punctuation.definition.string.begin.julia"
1020 },
1021 "1": {
1022 "name": "support.function.macro.julia"
1023 }
1024 },
1025 "end": "(?<![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1026 �-�
1027 �∿⊾⊿⊤⊥∂�
1028 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1029 �-�
1030 �∿⊾⊿⊤⊥∂�
1031 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*)?",
1032 "endCaptures": {
1033 "1": {
1034 "name": "punctuation.definition.string.end.julia"
1035 },
1036 "2": {
1037 "name": "support.function.macro.julia"
1038 }
1039 },
1040 "name": "string.interpolated.backtick.julia",
1041 "patterns": [
1042 {
1043 "include": "#string_escaped_char"
1044 },
1045 {
1046 "include": "#string_dollar_sign_interpolate"
1047 }
1048 ]
1049 }
1050 ]
1051 },
1052 "string_escaped_char": {
1053 "patterns": [
1054 {
1055 "match": "\\\\(\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)",
1056 "name": "constant.character.escape.julia"
1057 }
1058 ]
1059 },
1060 "string_dollar_sign_interpolate": {
1061 "patterns": [
1062 {
1063 "match": "\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}�
1064 �-�
1065 �∿⊾⊿⊤⊥∂�
1066 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}�
1067 �-�
1068 �∿⊾⊿⊤⊥∂�
1069 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])*",
1070 "name": "variable.interpolation.julia"
1071 },
1072 {
1073 "begin": "\\$(\\()",
1074 "beginCaptures": {
1075 "1": {
1076 "name": "meta.bracket.julia"
1077 }
1078 },
1079 "end": "\\)",
1080 "endCaptures": {
1081 "0": {
1082 "name": "meta.bracket.julia"
1083 }
1084 },
1085 "name": "variable.interpolation.julia",
1086 "comment": "`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",
1087 "patterns": [
1088 {
1089 "include": "#self_no_for_block"
1090 }
1091 ]
1092 }
1093 ]
1094 },
1095 "symbol": {
1096 "patterns": [
1097 {
1098 "match": "(?<![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1099 �-�
1100 �∿⊾⊿⊤⊥∂�
1101 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1102 �-�
1103 �∿⊾⊿⊤⊥∂�
1104 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(?!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1105 �-�
1106 �∿⊾⊿⊤⊥∂�
1107 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-]))(?![\"`])",
1108 "name": "constant.other.symbol.julia",
1109 "comment": "This is string.quoted.symbol.julia in tpoisot's package"
1110 }
1111 ]
1112 },
1113 "type_decl": {
1114 "patterns": [
1115 {
1116 "captures": {
1117 "1": {
1118 "name": "entity.name.type.julia"
1119 },
1120 "2": {
1121 "name": "entity.other.inherited-class.julia"
1122 },
1123 "3": {
1124 "name": "punctuation.separator.inheritance.julia"
1125 }
1126 },
1127 "match": "(?>!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1128 �-�
1129 �∿⊾⊿⊤⊥∂�
1130 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1131 �-�
1132 �∿⊾⊿⊤⊥∂�
1133 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\s*(<:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1134 �-�
1135 �∿⊾⊿⊤⊥∂�
1136 -∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}�
1137 �-�
1138 �∿⊾⊿⊤⊥∂�
1139 -------𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃-----𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[-]|[^\\P{So}-])*(?:{.*})?)?",
1140 "name": "meta.type.julia"
1141 }
1142 ]
1143 },
1144 "self_no_for_block": {
1145 "comment": "Same as $self, but does not contain #for_block. 'outer' is not valid in some contexts (e.g. generators, comprehensions, indexing), so use this when matching those in begin/end patterns. Keep this up-to-date with $self!",
1146 "patterns": [
1147 {
1148 "include": "#operator"
1149 },
1150 {
1151 "include": "#array"
1152 },
1153 {
1154 "include": "#string"
1155 },
1156 {
1157 "include": "#parentheses"
1158 },
1159 {
1160 "include": "#bracket"
1161 },
1162 {
1163 "include": "#function_decl"
1164 },
1165 {
1166 "include": "#function_call"
1167 },
1168 {
1169 "include": "#keyword"
1170 },
1171 {
1172 "include": "#number"
1173 },
1174 {
1175 "include": "#comment"
1176 },
1177 {
1178 "include": "#type_decl"
1179 },
1180 {
1181 "include": "#symbol"
1182 }
1183 ]
1184 }
1185 }
1186 }
1187