@codingame/monaco-vscode-julia-default-extension 1.81.8-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js ADDED
@@ -0,0 +1,7 @@
1
+ import { registerExtension } from 'vscode/extensions';
2
+
3
+ var manifest = {name:"julia",displayName:"Julia Language Basics",description:"Provides syntax highlighting & bracket matching in Julia files.",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"0.10.x"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin JuliaEditorSupport/atom-language-julia grammars/julia_vscode.json ./syntaxes/julia.tmLanguage.json"},contributes:{languages:[{id:"julia",aliases:["Julia","julia"],extensions:[".jl"],firstLine:"^#!\\s*/.*\\bjulia[0-9.-]*\\b",configuration:"./language-configuration.json"},{id:"juliamarkdown",aliases:["Julia Markdown","juliamarkdown"],extensions:[".jmd"]}],grammars:[{language:"julia",scopeName:"source.julia",path:"./syntaxes/julia.tmLanguage.json",embeddedLanguages:{"meta.embedded.inline.cpp":"cpp","meta.embedded.inline.javascript":"javascript","meta.embedded.inline.python":"python","meta.embedded.inline.r":"r","meta.embedded.inline.sql":"sql"}}]},main:undefined};
4
+
5
+ const { registerFileUrl } = registerExtension(manifest);
6
+ registerFileUrl('./syntaxes/julia.tmLanguage.json', new URL('./julia.tmLanguage.json', import.meta.url).toString(), 'application/json');
7
+ registerFileUrl('./language-configuration.json', new URL('./language-configuration.json', import.meta.url).toString(), 'application/json');
@@ -0,0 +1,983 @@
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}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()",
196
+ "beginCaptures": {
197
+ "1": {
198
+ "name": "support.function.julia"
199
+ },
200
+ "2": {
201
+ "name": "support.type.julia"
202
+ },
203
+ "3": {
204
+ "name": "meta.bracket.julia"
205
+ }
206
+ },
207
+ "end": "\\)(('|(\\.'))*\\.?')?",
208
+ "endCaptures": {
209
+ "0": {
210
+ "name": "meta.bracket.julia"
211
+ },
212
+ "1": {
213
+ "name": "keyword.operator.transposed-func.julia"
214
+ }
215
+ },
216
+ "patterns": [
217
+ {
218
+ "match": "\\bfor\\b",
219
+ "name": "keyword.control.julia"
220
+ },
221
+ {
222
+ "include": "$self"
223
+ }
224
+ ]
225
+ }
226
+ ]
227
+ },
228
+ "function_decl": {
229
+ "patterns": [
230
+ {
231
+ "captures": {
232
+ "1": {
233
+ "name": "entity.name.function.julia"
234
+ },
235
+ "2": {
236
+ "name": "support.type.julia"
237
+ }
238
+ },
239
+ "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\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*?=(?![=>]))",
240
+ "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 `==`)"
241
+ },
242
+ {
243
+ "captures": {
244
+ "1": {
245
+ "name": "keyword.other.julia"
246
+ },
247
+ "2": {
248
+ "name": "keyword.operator.dots.julia"
249
+ },
250
+ "3": {
251
+ "name": "entity.name.function.julia"
252
+ },
253
+ "4": {
254
+ "name": "support.type.julia"
255
+ }
256
+ },
257
+ "match": "\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\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}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
258
+ "comment": "similar regex to previous, but with keyword not 1-line syntax"
259
+ }
260
+ ]
261
+ },
262
+ "keyword": {
263
+ "patterns": [
264
+ {
265
+ "match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b",
266
+ "name": "keyword.other.julia"
267
+ },
268
+ {
269
+ "comment": "special case for blocks to support tokenizing outer properly",
270
+ "begin": "\\b(for)\\b",
271
+ "beginCaptures": {
272
+ "0": {
273
+ "name": "keyword.control.julia"
274
+ }
275
+ },
276
+ "end": "(?<!,|\\s)(\\s*\\n)",
277
+ "patterns": [
278
+ {
279
+ "match": "\\bouter\\b",
280
+ "name": "keyword.other.julia"
281
+ },
282
+ {
283
+ "include": "$self"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "match": "\\b(?<![:_])(?:if|else|elseif|while|begin|let|do|try|catch|finally|return|break|continue)\\b",
289
+ "name": "keyword.control.julia"
290
+ },
291
+ {
292
+ "match": "\\b(?<![:_])end\\b",
293
+ "name": "keyword.control.end.julia"
294
+ },
295
+ {
296
+ "match": "\\b(?<![:_])(?:global|local|const)\\b",
297
+ "name": "keyword.storage.modifier.julia"
298
+ },
299
+ {
300
+ "match": "\\b(?<![:_])(?:export)\\b",
301
+ "name": "keyword.control.export.julia"
302
+ },
303
+ {
304
+ "match": "\\b(?<![:_])(?:import)\\b",
305
+ "name": "keyword.control.import.julia"
306
+ },
307
+ {
308
+ "match": "\\b(?<![:_])(?:using)\\b",
309
+ "name": "keyword.control.using.julia"
310
+ },
311
+ {
312
+ "match": "(?<=\\w\\s)\\b(as)\\b(?=\\s\\w)",
313
+ "name": "keyword.control.as.julia"
314
+ },
315
+ {
316
+ "match": "(@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*))",
317
+ "name": "support.function.macro.julia"
318
+ }
319
+ ]
320
+ },
321
+ "number": {
322
+ "patterns": [
323
+ {
324
+ "match": "((?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\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))('*)",
325
+ "captures": {
326
+ "1": {
327
+ "name": "constant.numeric.julia"
328
+ },
329
+ "2": {
330
+ "name": "keyword.operator.conjugate-number.julia"
331
+ }
332
+ }
333
+ },
334
+ {
335
+ "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",
336
+ "name": "constant.global.julia"
337
+ },
338
+ {
339
+ "match": "\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b",
340
+ "name": "constant.language.julia"
341
+ }
342
+ ]
343
+ },
344
+ "operator": {
345
+ "patterns": [
346
+ {
347
+ "match": "(?:->|<-|-->|=>)",
348
+ "name": "keyword.operator.arrow.julia"
349
+ },
350
+ {
351
+ "match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=))",
352
+ "name": "keyword.operator.update.julia"
353
+ },
354
+ {
355
+ "match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)",
356
+ "name": "keyword.operator.shift.julia"
357
+ },
358
+ {
359
+ "match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?<!\\\\)\"))?)))(?:\\.\\.\\.)?",
360
+ "captures": {
361
+ "1": {
362
+ "name": "keyword.operator.relation.types.julia"
363
+ },
364
+ "2": {
365
+ "name": "support.type.julia"
366
+ }
367
+ }
368
+ },
369
+ {
370
+ "match": "(?:===|∈|\\.∈|∉|\\.∉|∋|\\.∋|∌|\\.∌|≈|\\.≈|≉|\\.≉|≠|\\.≠|≡|\\.≡|≢|\\.≢|⊆|\\.⊆|⊇|\\.⊇|⊈|\\.⊈|⊉|\\.⊉|⊊|\\.⊊|⊋|\\.⊋|\\.==|!==|!=|\\.>=|\\.>|\\.<=|\\.<|\\.≤|\\.≥|==|\\.!=|\\.=|\\.!|<:|>:|:>|(?<!>)>=|(?<!<)<=|>|<|≥|≤)",
371
+ "name": "keyword.operator.relation.julia"
372
+ },
373
+ {
374
+ "match": "(?<=\\s)(?:\\?)(?=\\s)",
375
+ "name": "keyword.operator.ternary.julia"
376
+ },
377
+ {
378
+ "match": "(?<=\\s)(?:\\:)(?=\\s)",
379
+ "name": "keyword.operator.ternary.julia"
380
+ },
381
+ {
382
+ "match": "(?:\\|\\||&&|(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))!)",
383
+ "name": "keyword.operator.boolean.julia"
384
+ },
385
+ {
386
+ "match": "(?<=[[:word:]⁺-ₜ!′∇\\)\\]\\}])(?::)",
387
+ "name": "keyword.operator.range.julia"
388
+ },
389
+ {
390
+ "match": "(?:\\|>)",
391
+ "name": "keyword.operator.applies.julia"
392
+ },
393
+ {
394
+ "match": "(?:\\||\\.\\||\\&|\\.\\&|~|\\.~|⊻|\\.⊻)",
395
+ "name": "keyword.operator.bitwise.julia"
396
+ },
397
+ {
398
+ "match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^|÷|\\.÷|⋅|\\.⋅|∩|\\.∩|∪|\\.∪|×|√|∛)",
399
+ "name": "keyword.operator.arithmetic.julia"
400
+ },
401
+ {
402
+ "match": "(?:∘)",
403
+ "name": "keyword.operator.compose.julia"
404
+ },
405
+ {
406
+ "match": "(?:::|(?<=\\s)isa(?=\\s))",
407
+ "name": "keyword.operator.isa.julia"
408
+ },
409
+ {
410
+ "match": "(?:(?<=\\s)in(?=\\s))",
411
+ "name": "keyword.operator.relation.in.julia"
412
+ },
413
+ {
414
+ "match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+)",
415
+ "name": "keyword.operator.dots.julia"
416
+ },
417
+ {
418
+ "match": "(?:\\$)(?=.+)",
419
+ "name": "keyword.operator.interpolation.julia"
420
+ },
421
+ {
422
+ "captures": {
423
+ "2": {
424
+ "name": "keyword.operator.transposed-variable.julia"
425
+ }
426
+ },
427
+ "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(('|(\\.'))*\\.?')"
428
+ },
429
+ {
430
+ "captures": {
431
+ "1": {
432
+ "name": "bracket.end.julia"
433
+ },
434
+ "2": {
435
+ "name": "keyword.operator.transposed-matrix.julia"
436
+ }
437
+ },
438
+ "match": "(\\])((?:'|(?:\\.'))*\\.?')"
439
+ },
440
+ {
441
+ "captures": {
442
+ "1": {
443
+ "name": "bracket.end.julia"
444
+ },
445
+ "2": {
446
+ "name": "keyword.operator.transposed-parens.julia"
447
+ }
448
+ },
449
+ "match": "(\\))((?:'|(?:\\.'))*\\.?')"
450
+ }
451
+ ]
452
+ },
453
+ "string": {
454
+ "patterns": [
455
+ {
456
+ "begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))",
457
+ "beginCaptures": {
458
+ "1": {
459
+ "name": "support.function.macro.julia"
460
+ },
461
+ "2": {
462
+ "name": "punctuation.definition.string.begin.julia"
463
+ }
464
+ },
465
+ "end": "(\"\"\") ?(->)?",
466
+ "endCaptures": {
467
+ "1": {
468
+ "name": "punctuation.definition.string.end.julia"
469
+ },
470
+ "2": {
471
+ "name": "keyword.operator.arrow.julia"
472
+ }
473
+ },
474
+ "name": "string.docstring.julia",
475
+ "patterns": [
476
+ {
477
+ "include": "#string_escaped_char"
478
+ },
479
+ {
480
+ "include": "#string_dollar_sign_interpolate"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "begin": "(i?cxx)(\"\"\")",
486
+ "beginCaptures": {
487
+ "1": {
488
+ "name": "support.function.macro.julia"
489
+ },
490
+ "2": {
491
+ "name": "punctuation.definition.string.begin.julia"
492
+ }
493
+ },
494
+ "end": "\"\"\"",
495
+ "endCaptures": {
496
+ "0": {
497
+ "name": "punctuation.definition.string.end.julia"
498
+ }
499
+ },
500
+ "name": "embed.cxx.julia",
501
+ "contentName": "meta.embedded.inline.cpp",
502
+ "patterns": [
503
+ {
504
+ "include": "source.cpp#root_context"
505
+ },
506
+ {
507
+ "include": "#string_dollar_sign_interpolate"
508
+ }
509
+ ]
510
+ },
511
+ {
512
+ "begin": "(py)(\"\"\")",
513
+ "beginCaptures": {
514
+ "1": {
515
+ "name": "support.function.macro.julia"
516
+ },
517
+ "2": {
518
+ "name": "punctuation.definition.string.begin.julia"
519
+ }
520
+ },
521
+ "end": "([\\s\\w]*)(\"\"\")",
522
+ "endCaptures": {
523
+ "2": {
524
+ "name": "punctuation.definition.string.end.julia"
525
+ }
526
+ },
527
+ "name": "embed.python.julia",
528
+ "contentName": "meta.embedded.inline.python",
529
+ "patterns": [
530
+ {
531
+ "include": "source.python"
532
+ },
533
+ {
534
+ "include": "#string_dollar_sign_interpolate"
535
+ }
536
+ ]
537
+ },
538
+ {
539
+ "begin": "(js)(\"\"\")",
540
+ "beginCaptures": {
541
+ "1": {
542
+ "name": "support.function.macro.julia"
543
+ },
544
+ "2": {
545
+ "name": "punctuation.definition.string.begin.julia"
546
+ }
547
+ },
548
+ "end": "\"\"\"",
549
+ "endCaptures": {
550
+ "0": {
551
+ "name": "punctuation.definition.string.end.julia"
552
+ }
553
+ },
554
+ "name": "embed.js.julia",
555
+ "contentName": "meta.embedded.inline.javascript",
556
+ "patterns": [
557
+ {
558
+ "include": "source.js"
559
+ },
560
+ {
561
+ "include": "#string_dollar_sign_interpolate"
562
+ }
563
+ ]
564
+ },
565
+ {
566
+ "begin": "(R)(\"\"\")",
567
+ "beginCaptures": {
568
+ "1": {
569
+ "name": "support.function.macro.julia"
570
+ },
571
+ "2": {
572
+ "name": "punctuation.definition.string.begin.julia"
573
+ }
574
+ },
575
+ "end": "\"\"\"",
576
+ "endCaptures": {
577
+ "0": {
578
+ "name": "punctuation.definition.string.end.julia"
579
+ }
580
+ },
581
+ "name": "embed.R.julia",
582
+ "contentName": "meta.embedded.inline.r",
583
+ "patterns": [
584
+ {
585
+ "include": "source.r"
586
+ },
587
+ {
588
+ "include": "#string_dollar_sign_interpolate"
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "begin": "(raw)(\"\"\")",
594
+ "beginCaptures": {
595
+ "1": {
596
+ "name": "support.function.macro.julia"
597
+ },
598
+ "2": {
599
+ "name": "punctuation.definition.string.begin.julia"
600
+ }
601
+ },
602
+ "end": "\"\"\"",
603
+ "name": "string.quoted.other.julia",
604
+ "endCaptures": {
605
+ "0": {
606
+ "name": "punctuation.definition.string.end.julia"
607
+ }
608
+ }
609
+ },
610
+ {
611
+ "begin": "(raw)(\")",
612
+ "beginCaptures": {
613
+ "1": {
614
+ "name": "support.function.macro.julia"
615
+ },
616
+ "2": {
617
+ "name": "punctuation.definition.string.begin.julia"
618
+ }
619
+ },
620
+ "end": "\"",
621
+ "name": "string.quoted.other.julia",
622
+ "endCaptures": {
623
+ "0": {
624
+ "name": "punctuation.definition.string.end.julia"
625
+ }
626
+ }
627
+ },
628
+ {
629
+ "begin": "(sql)(\"\"\")",
630
+ "beginCaptures": {
631
+ "1": {
632
+ "name": "support.function.macro.julia"
633
+ },
634
+ "2": {
635
+ "name": "punctuation.definition.string.begin.julia"
636
+ }
637
+ },
638
+ "end": "\"\"\"",
639
+ "endCaptures": {
640
+ "0": {
641
+ "name": "punctuation.definition.string.end.julia"
642
+ }
643
+ },
644
+ "name": "embed.sql.julia",
645
+ "contentName": "meta.embedded.inline.sql",
646
+ "patterns": [
647
+ {
648
+ "include": "source.sql"
649
+ },
650
+ {
651
+ "include": "#string_dollar_sign_interpolate"
652
+ }
653
+ ]
654
+ },
655
+ {
656
+ "begin": "var\"\"\"",
657
+ "end": "\"\"\"",
658
+ "name": "constant.other.symbol.julia"
659
+ },
660
+ {
661
+ "begin": "var\"",
662
+ "end": "\"",
663
+ "name": "constant.other.symbol.julia"
664
+ },
665
+ {
666
+ "begin": "^\\s?(doc)?(\"\"\")\\s?$",
667
+ "beginCaptures": {
668
+ "1": {
669
+ "name": "support.function.macro.julia"
670
+ },
671
+ "2": {
672
+ "name": "punctuation.definition.string.begin.julia"
673
+ }
674
+ },
675
+ "end": "(\"\"\")",
676
+ "endCaptures": {
677
+ "1": {
678
+ "name": "punctuation.definition.string.end.julia"
679
+ }
680
+ },
681
+ "name": "string.docstring.julia",
682
+ "comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",
683
+ "patterns": [
684
+ {
685
+ "include": "#string_escaped_char"
686
+ },
687
+ {
688
+ "include": "#string_dollar_sign_interpolate"
689
+ }
690
+ ]
691
+ },
692
+ {
693
+ "begin": "'",
694
+ "beginCaptures": {
695
+ "0": {
696
+ "name": "punctuation.definition.string.begin.julia"
697
+ }
698
+ },
699
+ "end": "'(?!')",
700
+ "endCaptures": {
701
+ "0": {
702
+ "name": "punctuation.definition.string.end.julia"
703
+ }
704
+ },
705
+ "name": "string.quoted.single.julia",
706
+ "patterns": [
707
+ {
708
+ "include": "#string_escaped_char"
709
+ }
710
+ ]
711
+ },
712
+ {
713
+ "begin": "\"\"\"",
714
+ "beginCaptures": {
715
+ "0": {
716
+ "name": "punctuation.definition.string.multiline.begin.julia"
717
+ }
718
+ },
719
+ "end": "\"\"\"",
720
+ "endCaptures": {
721
+ "0": {
722
+ "name": "punctuation.definition.string.multiline.end.julia"
723
+ }
724
+ },
725
+ "name": "string.quoted.triple.double.julia",
726
+ "comment": "multi-line string with triple double quotes",
727
+ "patterns": [
728
+ {
729
+ "include": "#string_escaped_char"
730
+ },
731
+ {
732
+ "include": "#string_dollar_sign_interpolate"
733
+ }
734
+ ]
735
+ },
736
+ {
737
+ "name": "string.quoted.double.julia",
738
+ "begin": "\"(?!\"\")",
739
+ "beginCaptures": {
740
+ "0": {
741
+ "name": "punctuation.definition.string.begin.julia"
742
+ }
743
+ },
744
+ "end": "\"",
745
+ "endCaptures": {
746
+ "0": {
747
+ "name": "punctuation.definition.string.end.julia"
748
+ }
749
+ },
750
+ "comment": "String with single pair of double quotes. Regex matches isolated double quote",
751
+ "patterns": [
752
+ {
753
+ "include": "#string_escaped_char"
754
+ },
755
+ {
756
+ "include": "#string_dollar_sign_interpolate"
757
+ }
758
+ ]
759
+ },
760
+ {
761
+ "begin": "r\"\"\"",
762
+ "beginCaptures": {
763
+ "0": {
764
+ "name": "punctuation.definition.string.regexp.begin.julia"
765
+ }
766
+ },
767
+ "end": "(\"\"\")([imsx]{0,4})?",
768
+ "endCaptures": {
769
+ "1": {
770
+ "name": "punctuation.definition.string.regexp.end.julia"
771
+ },
772
+ "2": {
773
+ "comment": "I took this scope name from python regex grammar",
774
+ "name": "keyword.other.option-toggle.regexp.julia"
775
+ }
776
+ },
777
+ "name": "string.regexp.julia",
778
+ "patterns": [
779
+ {
780
+ "include": "#string_escaped_char"
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "begin": "r\"",
786
+ "beginCaptures": {
787
+ "0": {
788
+ "name": "punctuation.definition.string.regexp.begin.julia"
789
+ }
790
+ },
791
+ "end": "(\")([imsx]{0,4})?",
792
+ "endCaptures": {
793
+ "1": {
794
+ "name": "punctuation.definition.string.regexp.end.julia"
795
+ },
796
+ "2": {
797
+ "comment": "I took this scope name from python regex grammar",
798
+ "name": "keyword.other.option-toggle.regexp.julia"
799
+ }
800
+ },
801
+ "name": "string.regexp.julia",
802
+ "patterns": [
803
+ {
804
+ "include": "#string_escaped_char"
805
+ }
806
+ ]
807
+ },
808
+ {
809
+ "begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"\"\"",
810
+ "beginCaptures": {
811
+ "0": {
812
+ "name": "punctuation.definition.string.begin.julia"
813
+ },
814
+ "1": {
815
+ "name": "support.function.macro.julia"
816
+ }
817
+ },
818
+ "end": "(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
819
+ "endCaptures": {
820
+ "1": {
821
+ "name": "punctuation.definition.string.end.julia"
822
+ },
823
+ "2": {
824
+ "name": "support.function.macro.julia"
825
+ }
826
+ },
827
+ "name": "string.quoted.other.julia",
828
+ "patterns": [
829
+ {
830
+ "include": "#string_escaped_char"
831
+ }
832
+ ]
833
+ },
834
+ {
835
+ "begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"",
836
+ "beginCaptures": {
837
+ "0": {
838
+ "name": "punctuation.definition.string.begin.julia"
839
+ },
840
+ "1": {
841
+ "name": "support.function.macro.julia"
842
+ }
843
+ },
844
+ "end": "(?<![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
845
+ "endCaptures": {
846
+ "1": {
847
+ "name": "punctuation.definition.string.end.julia"
848
+ },
849
+ "2": {
850
+ "name": "support.function.macro.julia"
851
+ }
852
+ },
853
+ "name": "string.quoted.other.julia",
854
+ "patterns": [
855
+ {
856
+ "include": "#string_escaped_char"
857
+ }
858
+ ]
859
+ },
860
+ {
861
+ "begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?```",
862
+ "beginCaptures": {
863
+ "0": {
864
+ "name": "punctuation.definition.string.begin.julia"
865
+ },
866
+ "1": {
867
+ "name": "support.function.macro.julia"
868
+ }
869
+ },
870
+ "end": "(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
871
+ "endCaptures": {
872
+ "1": {
873
+ "name": "punctuation.definition.string.end.julia"
874
+ },
875
+ "2": {
876
+ "name": "support.function.macro.julia"
877
+ }
878
+ },
879
+ "name": "string.interpolated.backtick.julia",
880
+ "patterns": [
881
+ {
882
+ "include": "#string_escaped_char"
883
+ },
884
+ {
885
+ "include": "#string_dollar_sign_interpolate"
886
+ }
887
+ ]
888
+ },
889
+ {
890
+ "begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?`",
891
+ "beginCaptures": {
892
+ "0": {
893
+ "name": "punctuation.definition.string.begin.julia"
894
+ },
895
+ "1": {
896
+ "name": "support.function.macro.julia"
897
+ }
898
+ },
899
+ "end": "(?<![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
900
+ "endCaptures": {
901
+ "1": {
902
+ "name": "punctuation.definition.string.end.julia"
903
+ },
904
+ "2": {
905
+ "name": "support.function.macro.julia"
906
+ }
907
+ },
908
+ "name": "string.interpolated.backtick.julia",
909
+ "patterns": [
910
+ {
911
+ "include": "#string_escaped_char"
912
+ },
913
+ {
914
+ "include": "#string_dollar_sign_interpolate"
915
+ }
916
+ ]
917
+ }
918
+ ]
919
+ },
920
+ "string_escaped_char": {
921
+ "patterns": [
922
+ {
923
+ "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}|.)",
924
+ "name": "constant.character.escape.julia"
925
+ }
926
+ ]
927
+ },
928
+ "string_dollar_sign_interpolate": {
929
+ "patterns": [
930
+ {
931
+ "match": "\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*",
932
+ "name": "variable.interpolation.julia"
933
+ },
934
+ {
935
+ "begin": "\\$\\(",
936
+ "end": "\\)",
937
+ "name": "variable.interpolation.julia",
938
+ "comment": "`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",
939
+ "patterns": [
940
+ {
941
+ "match": "\\bfor\\b",
942
+ "name": "keyword.control.julia"
943
+ },
944
+ {
945
+ "include": "#parentheses"
946
+ },
947
+ {
948
+ "include": "$self"
949
+ }
950
+ ]
951
+ }
952
+ ]
953
+ },
954
+ "symbol": {
955
+ "patterns": [
956
+ {
957
+ "match": "(?<![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\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}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))(?![\"`])",
958
+ "name": "constant.other.symbol.julia",
959
+ "comment": "This is string.quoted.symbol.julia in tpoisot's package"
960
+ }
961
+ ]
962
+ },
963
+ "type_decl": {
964
+ "patterns": [
965
+ {
966
+ "captures": {
967
+ "1": {
968
+ "name": "entity.name.type.julia"
969
+ },
970
+ "2": {
971
+ "name": "entity.other.inherited-class.julia"
972
+ },
973
+ "3": {
974
+ "name": "punctuation.separator.inheritance.julia"
975
+ }
976
+ },
977
+ "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}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\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}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:{.*})?)?",
978
+ "name": "meta.type.julia"
979
+ }
980
+ ]
981
+ }
982
+ }
983
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "comments": {
3
+ "lineComment": "#",
4
+ "blockComment": [ "#=", "=#" ]
5
+ },
6
+ "brackets": [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ "autoClosingPairs": [
12
+ ["{", "}"],
13
+ ["[", "]"],
14
+ ["(", ")"],
15
+ ["`", "`"],
16
+ { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }
17
+ ],
18
+ "surroundingPairs": [
19
+ ["{", "}"],
20
+ ["[", "]"],
21
+ ["(", ")"],
22
+ ["\"", "\""],
23
+ ["`", "`"]
24
+ ],
25
+ "folding": {
26
+ "markers": {
27
+ "start": "^\\s*#region",
28
+ "end": "^\\s*#endregion"
29
+ }
30
+ },
31
+ "indentationRules": {
32
+ "increaseIndentPattern": "^(\\s*|.*=\\s*|.*@\\w*\\s*)[\\w\\s]*(?:[\"'`][^\"'`]*[\"'`])*[\\w\\s]*\\b(if|while|for|function|macro|(mutable\\s+)?struct|abstract\\s+type|primitive\\s+type|let|quote|try|begin|.*\\)\\s*do|else|elseif|catch|finally)\\b(?!(?:.*\\bend\\b[^\\]]*)|(?:[^\\[]*\\].*)$).*$",
33
+ "decreaseIndentPattern": "^\\s*(end|else|elseif|catch|finally)\\b.*$"
34
+ }
35
+ }
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@codingame/monaco-vscode-julia-default-extension",
3
+ "version": "1.81.8-next.1",
4
+ "keywords": [],
5
+ "author": {
6
+ "name": "CodinGame",
7
+ "url": "http://www.codingame.com"
8
+ },
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/CodinGame/monaco-vscode-api"
13
+ },
14
+ "type": "module",
15
+ "private": false,
16
+ "description": "Default VSCode extension designed to be used with @codingame/monaco-vscode-api",
17
+ "main": "index.js",
18
+ "module": "index.js",
19
+ "dependencies": {
20
+ "vscode": "npm:@codingame/monaco-vscode-api@1.81.8-next.1"
21
+ }
22
+ }