PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.6.0
Code Block Pro – Beautiful Syntax Highlighting v1.6.0
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.6.0, at build/shiki/languages/julia.tmLanguage.json

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