@mirascript/monaco 0.1.62-alpha.7 → 0.1.62-alpha.9

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.
Files changed (73) hide show
  1. package/dist/basic/index.d.ts +6 -0
  2. package/dist/basic/index.d.ts.map +1 -0
  3. package/dist/basic/index.js +10 -0
  4. package/dist/basic/index.js.map +6 -0
  5. package/dist/basic/language-configuration.d.ts +5 -0
  6. package/dist/basic/language-configuration.d.ts.map +1 -0
  7. package/dist/basic/tokens-provider.d.ts +4 -0
  8. package/dist/basic/tokens-provider.d.ts.map +1 -0
  9. package/dist/chunk-NAOKM25O.js +63 -0
  10. package/dist/chunk-NAOKM25O.js.map +6 -0
  11. package/dist/chunk-SCSO2D5U.js +570 -0
  12. package/dist/chunk-SCSO2D5U.js.map +6 -0
  13. package/dist/constants.d.ts +5 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/contribute.d.ts +3 -0
  16. package/dist/contribute.d.ts.map +1 -0
  17. package/dist/index.d.ts +27 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +89 -0
  20. package/dist/index.js.map +6 -0
  21. package/dist/lsp/compile-result.d.ts +147 -0
  22. package/dist/lsp/compile-result.d.ts.map +1 -0
  23. package/dist/lsp/diagnostics.d.ts +8 -0
  24. package/dist/lsp/diagnostics.d.ts.map +1 -0
  25. package/dist/lsp/index.d.ts +43 -0
  26. package/dist/lsp/index.d.ts.map +1 -0
  27. package/dist/lsp/index.js +3097 -0
  28. package/dist/lsp/index.js.map +6 -0
  29. package/dist/lsp/monaco-private.d.ts +19 -0
  30. package/dist/lsp/monaco-private.d.ts.map +1 -0
  31. package/dist/lsp/monaco-utils.d.ts +20 -0
  32. package/dist/lsp/monaco-utils.d.ts.map +1 -0
  33. package/dist/lsp/providers/base.d.ts +43 -0
  34. package/dist/lsp/providers/base.d.ts.map +1 -0
  35. package/dist/lsp/providers/code-action-provider.d.ts +12 -0
  36. package/dist/lsp/providers/code-action-provider.d.ts.map +1 -0
  37. package/dist/lsp/providers/code-lens-provider.d.ts +12 -0
  38. package/dist/lsp/providers/code-lens-provider.d.ts.map +1 -0
  39. package/dist/lsp/providers/color-provider.d.ts +10 -0
  40. package/dist/lsp/providers/color-provider.d.ts.map +1 -0
  41. package/dist/lsp/providers/completion-item-provider.d.ts +21 -0
  42. package/dist/lsp/providers/completion-item-provider.d.ts.map +1 -0
  43. package/dist/lsp/providers/definition-reference-provider.d.ts +19 -0
  44. package/dist/lsp/providers/definition-reference-provider.d.ts.map +1 -0
  45. package/dist/lsp/providers/document-highlight-provider.d.ts +12 -0
  46. package/dist/lsp/providers/document-highlight-provider.d.ts.map +1 -0
  47. package/dist/lsp/providers/document-symbol-provider.d.ts +10 -0
  48. package/dist/lsp/providers/document-symbol-provider.d.ts.map +1 -0
  49. package/dist/lsp/providers/formatter-provider.d.ts +18 -0
  50. package/dist/lsp/providers/formatter-provider.d.ts.map +1 -0
  51. package/dist/lsp/providers/hover-provider.d.ts +14 -0
  52. package/dist/lsp/providers/hover-provider.d.ts.map +1 -0
  53. package/dist/lsp/providers/inlay-hints-provider.d.ts +10 -0
  54. package/dist/lsp/providers/inlay-hints-provider.d.ts.map +1 -0
  55. package/dist/lsp/providers/range-provider.d.ts +10 -0
  56. package/dist/lsp/providers/range-provider.d.ts.map +1 -0
  57. package/dist/lsp/providers/rename-provider.d.ts +12 -0
  58. package/dist/lsp/providers/rename-provider.d.ts.map +1 -0
  59. package/dist/lsp/providers/semantic-tokens-provider.d.ts +12 -0
  60. package/dist/lsp/providers/semantic-tokens-provider.d.ts.map +1 -0
  61. package/dist/lsp/providers/signature-help-provider.d.ts +12 -0
  62. package/dist/lsp/providers/signature-help-provider.d.ts.map +1 -0
  63. package/dist/lsp/utils.d.ts +41 -0
  64. package/dist/lsp/utils.d.ts.map +1 -0
  65. package/dist/lsp/worker-helper.d.ts +5 -0
  66. package/dist/lsp/worker-helper.d.ts.map +1 -0
  67. package/dist/lsp/worker.d.ts +23 -0
  68. package/dist/lsp/worker.d.ts.map +1 -0
  69. package/dist/lsp/worker.js +63 -0
  70. package/dist/lsp/worker.js.map +6 -0
  71. package/dist/monaco-api.d.ts +16 -0
  72. package/dist/monaco-api.d.ts.map +1 -0
  73. package/package.json +5 -5
@@ -0,0 +1,570 @@
1
+ import {
2
+ languages
3
+ } from "./chunk-NAOKM25O.js";
4
+
5
+ // src/constants.ts
6
+ import {
7
+ isKeyword,
8
+ KEYWORDS,
9
+ CONSTANT_KEYWORDS,
10
+ CONTROL_KEYWORDS,
11
+ NUMERIC_KEYWORDS,
12
+ RESERVED_KEYWORDS
13
+ } from "@mirascript/constants";
14
+ import { constants } from "@mirascript/mirascript/subtle";
15
+ var {
16
+ REG_IDENTIFIER,
17
+ REG_ORDINAL,
18
+ REG_WHITESPACE,
19
+ REG_BIN,
20
+ REG_HEX,
21
+ REG_OCT,
22
+ REG_NUMBER,
23
+ REG_IDENTIFIER_FULL,
24
+ REG_ORDINAL_FULL
25
+ } = constants;
26
+ var MAX_VERBATIM_LENGTH = 16;
27
+
28
+ // src/basic/language-configuration.ts
29
+ function indentAction(action) {
30
+ if (languages == null) {
31
+ return {
32
+ indent: action[0]?.toLowerCase() + action.slice(1)
33
+ };
34
+ }
35
+ return { indentAction: languages.IndentAction[action] };
36
+ }
37
+ var configuration = () => ({
38
+ comments: {
39
+ lineComment: { comment: "//" },
40
+ blockComment: ["/*", "*/"]
41
+ },
42
+ brackets: [
43
+ ...Array.from({ length: MAX_VERBATIM_LENGTH }).flatMap((_, i) => {
44
+ const prefix = "$".repeat(MAX_VERBATIM_LENGTH - i - 1);
45
+ return [
46
+ [`${prefix}{`, "}"],
47
+ [`${prefix}(`, ")"]
48
+ ];
49
+ }),
50
+ ["[", "]"]
51
+ ],
52
+ wordPattern: /((?<!\.\s*)[\d_]+\.[\d_]+([eE][+-]?[\d_]+)?)|([^`~!#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]+)/g,
53
+ autoClosingPairs: [
54
+ { open: "{", close: "}" },
55
+ { open: "[", close: "]" },
56
+ { open: "(", close: ")" },
57
+ { open: '"', close: '"', notIn: ["string"] },
58
+ { open: "'", close: "'", notIn: ["string", "comment"] },
59
+ { open: "`", close: "`", notIn: ["string", "comment"] },
60
+ { open: "/**", close: " */", notIn: ["string"] }
61
+ ],
62
+ onEnterRules: [
63
+ {
64
+ // e.g. /** | */
65
+ beforeText: /^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,
66
+ afterText: /^\s*\*\/$/,
67
+ action: {
68
+ ...indentAction("IndentOutdent"),
69
+ appendText: " * "
70
+ }
71
+ },
72
+ {
73
+ // e.g. /** ...|
74
+ beforeText: /^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,
75
+ action: {
76
+ ...indentAction("None"),
77
+ appendText: " * "
78
+ }
79
+ },
80
+ {
81
+ // e.g. * ...|
82
+ beforeText: /^(\t|( {2}))* \*( ([^*]|\*(?!\/))*)?$/,
83
+ action: {
84
+ ...indentAction("None"),
85
+ appendText: "* "
86
+ }
87
+ },
88
+ {
89
+ // e.g. */|
90
+ beforeText: /^(\t|( {2}))* \*\/\s*$/,
91
+ action: {
92
+ ...indentAction("None"),
93
+ removeText: 1
94
+ }
95
+ }
96
+ ],
97
+ autoCloseBefore: "*/%^ &| ><= )}] ;,?: '\"` \n ~#\\",
98
+ folding: {
99
+ markers: {
100
+ start: /^\s*\/\/#?\s*?region\b/gu,
101
+ end: /^\s*\/\/#?\s*?endregion\b/gu
102
+ }
103
+ }
104
+ });
105
+ function setLanguageConfiguration() {
106
+ return [
107
+ languages.setLanguageConfiguration("mirascript", configuration()),
108
+ languages.setLanguageConfiguration("mirascript-template", configuration()),
109
+ languages.setLanguageConfiguration("mirascript-doc", configuration())
110
+ ];
111
+ }
112
+
113
+ // src/basic/tokens-provider.ts
114
+ import { DefaultVmContext } from "@mirascript/mirascript/subtle";
115
+ import { isVmModule } from "@mirascript/mirascript";
116
+ var moduleNames = [...DefaultVmContext.keys()].filter(
117
+ (name) => DefaultVmContext.has(name) && isVmModule(DefaultVmContext.get(name))
118
+ );
119
+ function identifierCases(data, defaultToken = "variable") {
120
+ return {
121
+ "@numericKeywords": { ...data, token: `constant.numeric` },
122
+ "@constantKeywords": { ...data, token: `constant.language` },
123
+ "@controlKeywords": { ...data, token: `keyword.flow` },
124
+ "@keywords": { ...data, token: `keyword` },
125
+ "[@]+.*": { ...data, token: `variable.other.constant` },
126
+ "~it": { ...data, token: `variable.other.constant.emphasis` },
127
+ "@default": { ...data, token: defaultToken }
128
+ };
129
+ }
130
+ function getTokensProvider(mode) {
131
+ return {
132
+ ignoreCase: false,
133
+ unicode: true,
134
+ includeLF: false,
135
+ brackets: [
136
+ { open: "{", close: "}", token: "delimiter.curly" },
137
+ { open: "[", close: "]", token: "delimiter.square" },
138
+ { open: "(", close: ")", token: "delimiter.parenthesis" }
139
+ ],
140
+ defaultToken: "invalid",
141
+ whitespace: REG_WHITESPACE,
142
+ identifier: REG_IDENTIFIER,
143
+ identifierNoAtOnly: /(?:(?:_+|\$+|\p{XID_Start})\p{XID_Continue}*|@+\p{XID_Continue}+)/u,
144
+ keywords: KEYWORDS,
145
+ controlKeywords: CONTROL_KEYWORDS,
146
+ constantKeywords: CONSTANT_KEYWORDS,
147
+ numericKeywords: NUMERIC_KEYWORDS,
148
+ start: mode === "template" ? "root_template" : mode === "doc" ? "root_doc" : "root",
149
+ tokenPostfix: ".mirascript",
150
+ tokenizer: {
151
+ root: [
152
+ [/[[\](){}]/, "@brackets"],
153
+ // 用于修正关键字做为属性名时的高亮问题,由于与格式化字符串冲突,仅 root 规则启用,其余情况改由 semantic 高亮处理
154
+ [/(0|[1-9]\d*|@identifier)(@whitespace*)(\??:)(?!:)/, ["variable.other.property", "", "delimiter"]],
155
+ { include: "@common" }
156
+ ],
157
+ root_template: [
158
+ [/[^$]+/, "string"],
159
+ [/(?=\$)/, "", "@string_interpolation.$S3"],
160
+ [/[$]/, "string"]
161
+ ],
162
+ common: [
163
+ [
164
+ /(mod)(@whitespace+)(@identifier)(?=$|@whitespace|[[({,;])/,
165
+ ["keyword", "", { cases: identifierCases(void 0, "entity.name.namespace") }]
166
+ ],
167
+ [
168
+ /(fn)(@whitespace+)(@identifier)(?=$|@whitespace|[[({,;])/,
169
+ ["keyword", "", { cases: identifierCases(void 0, "entity.name.function") }]
170
+ ],
171
+ [
172
+ /(for)(@whitespace+)(mut)(@whitespace+)(@identifier)(@whitespace+)(in)/,
173
+ ["keyword.flow", "", "keyword", "", { cases: identifierCases() }, "", "keyword.flow"]
174
+ ],
175
+ [
176
+ /(for)(@whitespace+)(@identifier)(@whitespace+)(in)/,
177
+ ["keyword.flow", "", { cases: identifierCases() }, "", "keyword.flow"]
178
+ ],
179
+ [
180
+ /(\.)(@whitespace*)(\d+\b)/,
181
+ [
182
+ "delimiter",
183
+ "",
184
+ {
185
+ cases: {
186
+ [REG_ORDINAL.source]: "variable",
187
+ "@default": "number.float"
188
+ }
189
+ }
190
+ ]
191
+ ],
192
+ [String.raw`\b(${moduleNames.join("|")})(@whitespace*(?=!?\.))`, ["type", ""]],
193
+ [
194
+ /(\.)(@whitespace*)(@identifierNoAtOnly)(@whitespace*)(!?)(@whitespace*(?=\(|@*['"`]))/,
195
+ ["delimiter", "", "entity.name.function", "", "delimiter", ""]
196
+ ],
197
+ [/(\.)(@whitespace*)(@identifier\b)/, ["delimiter", "", "variable"]],
198
+ // 不可变通过 semantic token 处理,避免在无 semantic token 支持的环境下高亮不一致,此处仅用于将非保留关键字识别为 identifier。
199
+ [/(let)(@whitespace+)(@identifier)(@whitespace+)(=)/, ["keyword", "", "variable", "", "delimiter"]],
200
+ [
201
+ /(type)(@whitespace*)(!)(@whitespace*)([(])/,
202
+ ["entity.name.function", "", "delimiter", "", "@brackets"]
203
+ ],
204
+ [/(type)(@whitespace*)([-+=/~?:;,.!@$%^&|*<>])/, ["variable", "", "delimiter"]],
205
+ [
206
+ /(@identifierNoAtOnly)(@whitespace*)(!?)(@whitespace*(?=\(|@*['"`]))/,
207
+ [
208
+ {
209
+ cases: identifierCases(void 0, `entity.name.function`)
210
+ },
211
+ "",
212
+ "delimiter",
213
+ ""
214
+ ]
215
+ ],
216
+ { include: "@whitespace" },
217
+ { include: "@string" },
218
+ [/(@identifier)/, { cases: identifierCases() }],
219
+ [
220
+ /0[xobXOB]\p{XID_Continue}*/u,
221
+ {
222
+ cases: {
223
+ [REG_OCT.source]: "number.octal",
224
+ [REG_BIN.source]: "number.binary",
225
+ [REG_HEX.source]: "number.hex",
226
+ "@default": "number.invalid"
227
+ }
228
+ }
229
+ ],
230
+ [
231
+ REG_NUMBER,
232
+ {
233
+ cases: {
234
+ [REG_ORDINAL.source]: "number.ordinal",
235
+ "@default": "number.float"
236
+ }
237
+ }
238
+ ],
239
+ [/(\.\.|\?:|::|[-+=/~?:;,.!@$%^&|*<>])/, "delimiter"]
240
+ ],
241
+ whitespace: [
242
+ [/(@whitespace)+/, ""],
243
+ [/\/\/.*$/, "comment.line"],
244
+ [/\/\*{2}/, "comment.doc", "@doc_comment"],
245
+ [/\/\*/, "comment.block", "@block_comment"]
246
+ ],
247
+ format: [[/:(?!:)/, "punctuation.format", "@format_string"]],
248
+ format_string: [
249
+ [/\\./, "string.escape.format"],
250
+ [/\(/, { token: "string.format", next: "@format_string_inner" }],
251
+ [/\)/, { token: "string.format", next: "@pop", goBack: 1 }],
252
+ [/\[/, { token: "string.format", next: "@format_string_class" }],
253
+ [/[^()\\[]+/, "string.format"]
254
+ ],
255
+ format_string_inner: [
256
+ [/\\./, "string.escape.format"],
257
+ [/\(/, { token: "string.format", next: "@push" }],
258
+ [/\)/, { token: "string.format", next: "@pop" }],
259
+ [/\[/, { token: "string.format", next: "@format_string_class" }],
260
+ [/[^()\\[\]]+/, "string.format"]
261
+ ],
262
+ format_string_class: [
263
+ [/\\./, "string.escape.format"],
264
+ [/\]/, { token: "string.format", next: "@pop" }],
265
+ [/[^\\\]]+/, "string.format"]
266
+ ],
267
+ string: [
268
+ [/["'`]/, { token: "string.quote.open", next: "@string_normal.$#", bracket: "@open" }],
269
+ [
270
+ /(@+)(["'`])/,
271
+ { token: "string.quote.open.$2$1.raw", next: "@string_verbatim.$2$1.$1", bracket: "@open" }
272
+ ]
273
+ ],
274
+ string_normal: [
275
+ [/[^'"`\\$]+/, "string"],
276
+ { include: "@string_escape" },
277
+ [/(?=\$)/, "", "@string_interpolation."],
278
+ [
279
+ /['"`]/,
280
+ {
281
+ cases: {
282
+ "$S2==$#": { token: "string.quote.close", next: "@pop", bracket: "@close" },
283
+ "@default": "string"
284
+ }
285
+ }
286
+ ]
287
+ ],
288
+ string_verbatim: [
289
+ [/[^'"`$]+/, "string"],
290
+ [/(?=\$)/, "", "@string_interpolation.$S3"],
291
+ [
292
+ /(['"`]@+)/,
293
+ {
294
+ cases: {
295
+ "$S2==$#": { token: "string.quote.close.raw.$#", next: "@pop", bracket: "@close" },
296
+ "@default": "string"
297
+ }
298
+ }
299
+ ],
300
+ [/['"`$]/, "string"]
301
+ ],
302
+ string_escape: [
303
+ [/\\([\\'"`$rntbfv0])/, "string.escape"],
304
+ [/\\u\{([0-9a-fA-F]+)\}/, "string.escape.unicode"],
305
+ [/\\x([0-9a-fA-F]{2})/, "string.escape.ascii"],
306
+ [/\\./, { token: "string.escape.invalid" }]
307
+ ],
308
+ ...Object.fromEntries(
309
+ Array.from({ length: MAX_VERBATIM_LENGTH }, (_, i) => {
310
+ const dollarCount = i === 0 ? 1 : i;
311
+ const dollarRegex = `\\\${${dollarCount}}`;
312
+ return [
313
+ `string_interpolation.${"@".repeat(i)}`,
314
+ [
315
+ [
316
+ `(${dollarRegex})(${REG_IDENTIFIER.source})`,
317
+ ["punctuation.section.embedded", { cases: identifierCases({ next: "@pop" }) }]
318
+ ],
319
+ [
320
+ String.raw`(${dollarRegex}\{)`,
321
+ {
322
+ token: "punctuation.section.embedded",
323
+ bracket: "@open",
324
+ next: "@braced"
325
+ }
326
+ ],
327
+ [
328
+ String.raw`(${dollarRegex}\()`,
329
+ {
330
+ token: "punctuation.section.embedded",
331
+ bracket: "@open",
332
+ next: "@parenthesized"
333
+ }
334
+ ],
335
+ [`\\\${0,${dollarCount}}`, "string", "@pop"],
336
+ ["", "", "@pop"]
337
+ ]
338
+ ];
339
+ })
340
+ ),
341
+ string_interpolation: [[/\$*/, "string", "@pop"]],
342
+ braced: [
343
+ [/\{/, { token: "@brackets", next: "@braced_inner" }],
344
+ [/\}/, { token: "punctuation.section.embedded", bracket: "@close", next: "@pop" }],
345
+ [/\(/, { token: "@brackets", next: "@parenthesized_inner" }],
346
+ [/[[\])]/, "@brackets"],
347
+ { include: "@common" }
348
+ ],
349
+ braced_inner: [
350
+ [/\{/, { token: "@brackets", next: "@push" }],
351
+ [/\}/, { token: "@brackets", next: "@pop" }],
352
+ [/[[\]()]/, "@brackets"],
353
+ { include: "@common" }
354
+ ],
355
+ parenthesized: [
356
+ [/\(/, { token: "@brackets", next: "@parenthesized_inner" }],
357
+ [/\)/, { token: "punctuation.section.embedded", bracket: "@close", next: "@pop" }],
358
+ [/\{/, { token: "@brackets", next: "@braced_inner" }],
359
+ [/[[\]}]/, "@brackets"],
360
+ { include: "@format" },
361
+ { include: "@common" }
362
+ ],
363
+ parenthesized_inner: [
364
+ [/\(/, { token: "@brackets", next: "@push" }],
365
+ [/\)/, { token: "@brackets", next: "@pop" }],
366
+ [/[[\]{}]/, "@brackets"],
367
+ { include: "@common" }
368
+ ],
369
+ block_comment: [
370
+ [/\*\//, { token: "comment.block", next: "@pop" }],
371
+ [/[^*]+/, { token: "comment.block" }],
372
+ [/\*/, { token: "comment.block" }]
373
+ ],
374
+ doc_comment: [
375
+ [/\*\//, { token: "comment.doc", next: "@pop" }],
376
+ [/^(\s*)\*(?!\/)/, { token: "comment.doc" }],
377
+ [/\\\*(?!\/)/, { token: "comment.doc.escape" }],
378
+ [/@(param|returns)/, { token: "entity.name.tag.doc" }],
379
+ [/\*{2}(\S|\S.*?\S)\*{2}(?!\/)/, { token: "comment.strong" }],
380
+ [/\*(\S|\S.*?\S)\*(?!\/)/, { token: "comment.emphasis" }],
381
+ [/[^*@\\]+/, { token: "comment.doc" }],
382
+ [/[*@\\]/, { token: "comment.doc" }]
383
+ ],
384
+ root_doc: [
385
+ // inline doc, start with `\0`
386
+ [/(?=^\0)/, { token: "", switchTo: "@inline_doc" }],
387
+ [/(?=.)/, { token: "", switchTo: "@doc_mode" }]
388
+ ],
389
+ inline_doc: [
390
+ [
391
+ /(\0\(parameter(?: pattern)?\))(@whitespace+)(\.\.|)(mut)(@whitespace+)(@identifier)/,
392
+ ["entity.name.label", "", "delimiter", "keyword.mut", "", "variable.emphasis"]
393
+ ],
394
+ [
395
+ /(\0\(parameter(?: pattern)?\))(@whitespace+)(\.\.|)(@identifier)/,
396
+ ["entity.name.label", "", "delimiter", "variable.other.constant.emphasis"]
397
+ ],
398
+ [/(\0\([^)]+\))(@whitespace+)/, ["entity.name.label", ""]],
399
+ [/\b(@identifier)(?=\s*=\s*mod\s+)/, "entity.name.namespace"],
400
+ [/\b(@identifier)(?=\s*=)/, "variable"],
401
+ { include: "@doc_mode" }
402
+ ],
403
+ doc_mode: [
404
+ [
405
+ /(@identifier)(@whitespace*)(:)(@whitespace*)(\/\*@whitespace*<)(extern )((?:async )?function\*?)(>@whitespace*\*\/)/,
406
+ [
407
+ "entity.name.function.doc",
408
+ "",
409
+ "delimiter",
410
+ "",
411
+ "comment.doc",
412
+ "type.doc",
413
+ "keyword.javascript",
414
+ "comment.doc"
415
+ ]
416
+ ],
417
+ [
418
+ /(@identifier)(@whitespace*)(:)(@whitespace*)(\/\*@whitespace*<)(extern )(class)(@whitespace*)([<>.\w]*)(>@whitespace*\*\/)/,
419
+ [
420
+ "type.doc",
421
+ "",
422
+ "delimiter",
423
+ "",
424
+ "comment.doc",
425
+ "type.doc",
426
+ "keyword.javascript",
427
+ "",
428
+ "type.javascript",
429
+ "comment.doc"
430
+ ]
431
+ ],
432
+ [
433
+ /(@identifier)(@whitespace*)(:)(@whitespace*)(\/\*@whitespace*<)(extern )([\w]*)(>@whitespace*\*\/)/,
434
+ [
435
+ "variable.other.property.doc",
436
+ "",
437
+ "delimiter",
438
+ "",
439
+ "comment.doc",
440
+ "type.doc",
441
+ "type.javascript",
442
+ "comment.doc"
443
+ ]
444
+ ],
445
+ [
446
+ /(@identifier)(@whitespace*)(:)(@whitespace*)(\/\*@whitespace*<)(function )([.\w]*)(>@whitespace*\*\/)/,
447
+ [
448
+ "entity.name.function.doc",
449
+ "",
450
+ "delimiter",
451
+ "",
452
+ "comment.doc",
453
+ "type.doc",
454
+ "entity.name.label",
455
+ "comment.doc"
456
+ ]
457
+ ],
458
+ [/(@identifier)(@whitespace*)(:)(@whitespace+)/, ["variable.other.property", "", "delimiter", ""]],
459
+ [
460
+ /(\/\*@whitespace*<)(extern )((?:async )?function\*?)(>@whitespace*\*\/)/,
461
+ ["comment.doc", "type.doc", "keyword.javascript", "comment.doc"]
462
+ ],
463
+ [
464
+ /(\/\*@whitespace*<)(extern )(class)(@whitespace*)([<>.\w]*)(>@whitespace*\*\/)/,
465
+ ["comment.doc", "type.doc", "keyword.javascript", "", "type.javascript", "comment.doc"]
466
+ ],
467
+ [
468
+ /(\/\*@whitespace*<)(extern )([\w]*)(\()(\d+)(\))(>@whitespace*\*\/)/,
469
+ [
470
+ "comment.doc",
471
+ "type.doc",
472
+ "type.javascript",
473
+ "delimiter",
474
+ "number.doc",
475
+ "delimiter",
476
+ "comment.doc"
477
+ ]
478
+ ],
479
+ [
480
+ /(\/\*@whitespace*<)(extern )([\w]*)([^>]*)(>@whitespace*\*\/)/,
481
+ ["comment.doc", "type.doc", "type.javascript", "", "comment.doc"]
482
+ ],
483
+ [
484
+ /(\/\*@whitespace*<)(function )([.\w]*)(>@whitespace*\*\/)/,
485
+ ["comment.doc", "type.doc", "entity.name.label", "comment.doc"]
486
+ ],
487
+ [
488
+ /(\/\*@whitespace*<)(\w+@whitespace*)([.\w]*)(>@whitespace*\*\/)/,
489
+ ["comment.doc", "type.doc", "entity.name.label", "comment.doc"]
490
+ ],
491
+ [
492
+ /(let)(@whitespace+)(mut)(@whitespace+)(@identifier)/,
493
+ [{ token: "keyword.$1" }, "", "keyword.mut", "", "variable"]
494
+ ],
495
+ [/(let|const)(@whitespace+)(@identifier)/, [{ token: "keyword.$1" }, "", "variable.other.constant"]],
496
+ [/(fn)(@whitespace+)(@identifier)$/, ["keyword.fn.doc", "", "entity.name.function.doc"]],
497
+ [
498
+ /(fn)(@whitespace+)(@identifier)(\((?=(?:@identifier|@whitespace+|,|\.\.)+\)))/,
499
+ [
500
+ "keyword.fn.doc",
501
+ "",
502
+ "entity.name.function.doc",
503
+ { token: "@brackets", next: "@type_doc_no_type" }
504
+ ]
505
+ ],
506
+ [
507
+ /(fn)(@whitespace+)(@identifier)(\()(\.\.)(\))/,
508
+ ["keyword.fn.doc", "", "entity.name.function.doc", "@brackets", "delimiter", "@brackets"]
509
+ ],
510
+ [
511
+ /(fn)(@whitespace+)(@identifier)/,
512
+ ["keyword.fn.doc", "", { token: "entity.name.function.doc", next: "@type_doc" }]
513
+ ],
514
+ [/[[\](){}]/, "@brackets"],
515
+ { include: "@common" }
516
+ ],
517
+ type_doc: [
518
+ [/;/, { token: "delimiter", next: "@pop", goBack: 1 }],
519
+ [/(fn)(\()/, ["type", "@brackets"]],
520
+ [/(type)(\()(@identifier)(\))/, ["type", "@brackets", "variable.emphasis.doc", "@brackets"]],
521
+ [
522
+ /(@identifier)(:)(@whitespace*)(fn)(\()/,
523
+ ["entity.name.function.emphasis.doc", "delimiter", "", "type", "@brackets"]
524
+ ],
525
+ [/(@identifier)(:)/, ["variable.emphasis", "delimiter"]],
526
+ [/@identifier/, "type"],
527
+ [/[&|.,]/, "delimiter"],
528
+ [/->/, "delimiter"],
529
+ [/[[\]()]/, "@brackets"],
530
+ { include: "@whitespace" }
531
+ ],
532
+ type_doc_no_type: [
533
+ [/\)/, { token: "@brackets", next: "@pop" }],
534
+ [/@identifier/, "variable.emphasis"],
535
+ [/[,.]/, "delimiter"],
536
+ [/[[\]()]/, "@brackets"],
537
+ { include: "@whitespace" }
538
+ ]
539
+ }
540
+ };
541
+ }
542
+ function registerMiraScriptTokensProvider() {
543
+ return [
544
+ languages.setMonarchTokensProvider("mirascript", getTokensProvider("script")),
545
+ languages.setMonarchTokensProvider("mirascript-template", getTokensProvider("template")),
546
+ languages.setMonarchTokensProvider("mirascript-doc", getTokensProvider("doc"))
547
+ ];
548
+ }
549
+
550
+ // src/basic/index.ts
551
+ async function registerBasic() {
552
+ const { loadModule } = await import("@mirascript/bindings/wasm");
553
+ await loadModule();
554
+ return [...setLanguageConfiguration(), ...registerMiraScriptTokensProvider()];
555
+ }
556
+
557
+ export {
558
+ REG_BIN,
559
+ REG_HEX,
560
+ REG_OCT,
561
+ REG_NUMBER,
562
+ REG_IDENTIFIER_FULL,
563
+ REG_ORDINAL_FULL,
564
+ isKeyword,
565
+ KEYWORDS,
566
+ RESERVED_KEYWORDS,
567
+ configuration,
568
+ registerBasic
569
+ };
570
+ //# sourceMappingURL=chunk-SCSO2D5U.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/constants.ts", "../src/basic/language-configuration.ts", "../src/basic/tokens-provider.ts", "../src/basic/index.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,5 @@
1
+ export { isKeyword, KEYWORDS, CONSTANT_KEYWORDS, CONTROL_KEYWORDS, NUMERIC_KEYWORDS, RESERVED_KEYWORDS, } from '@mirascript/constants';
2
+ export declare const REG_IDENTIFIER: RegExp, REG_ORDINAL: RegExp, REG_WHITESPACE: RegExp, REG_BIN: RegExp, REG_HEX: RegExp, REG_OCT: RegExp, REG_NUMBER: RegExp, REG_IDENTIFIER_FULL: RegExp, REG_ORDINAL_FULL: RegExp;
3
+ /** 基础语言服务支持的最大插值字符串 `$` 数量 */
4
+ export declare const MAX_VERBATIM_LENGTH = 16;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MACH,cAAc,UACd,WAAW,UACX,cAAc,UACd,OAAO,UACP,OAAO,UACP,OAAO,UACP,UAAU,UACV,mBAAmB,UACnB,gBAAgB,QACP,CAAC;AAEd,8BAA8B;AAC9B,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** 注册语言 */
2
+ export declare function registerContribution(): void;
3
+ //# sourceMappingURL=contribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contribute.d.ts","sourceRoot":"","sources":["../src/contribute.ts"],"names":[],"mappings":"AAEA,WAAW;AACX,wBAAgB,oBAAoB,IAAI,IAAI,CAqB3C"}
@@ -0,0 +1,27 @@
1
+ import type { VmContext } from '@mirascript/mirascript';
2
+ import { type editor, languages, registerMonacoApi, type IDisposable, type MonacoApi } from './monaco-api.js';
3
+ import type { LspFeaturesConfig } from './lsp/index.js';
4
+ /** 提供全局变量信息 */
5
+ export type VmContextProvider = (model: editor.ITextModel) => languages.ProviderResult<VmContext>;
6
+ /** 加载器 */
7
+ export declare class MiraScriptMonacoLoader implements IDisposable {
8
+ readonly contextProvider?: VmContextProvider | undefined;
9
+ constructor(contextProvider?: VmContextProvider | undefined);
10
+ features: LspFeaturesConfig;
11
+ private _basicFeaturesLoaded;
12
+ private _lspFeaturesLoaded;
13
+ /** 加载基础功能 */
14
+ loadBasicFeatures(): Promise<void>;
15
+ /** 加载 LSP 功能 */
16
+ loadLSPFeatures(): Promise<void>;
17
+ private readonly disposables;
18
+ private disposed;
19
+ /** @inheritdoc */
20
+ dispose(): void;
21
+ }
22
+ export { registerMonacoApi };
23
+ /**
24
+ * 注册 MiraScript Monaco 编辑器扩展。
25
+ */
26
+ export declare function registerMiraScript(monacoApi: MonacoApi, globalProvider?: VmContextProvider): MiraScriptMonacoLoader;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAe;AACf,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAElG,UAAU;AACV,qBAAa,sBAAuB,YAAW,WAAW;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,iBAAiB;gBAAnC,eAAe,CAAC,EAAE,iBAAiB,YAAA;IAYxD,QAAQ,EAAE,iBAAiB,CAAM;IACjC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,kBAAkB,CAAS;IACnC,aAAa;IACP,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxC,gBAAgB;IACV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IActC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAS;IACzB,kBAAkB;IAClB,OAAO,IAAI,IAAI;CASlB;AACD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAGnH"}