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

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