@mirascript/monaco 0.1.79 → 0.1.82

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/README.md CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  - 注册 `mirascript` 与 `mirascript-template` 语言
8
8
  - 提供高亮、基础编辑支持与结构化语言能力
9
+ - 使用 `@mirascript/textmate` 与 VS Code、Shiki 共享同一套 TextMate grammar,且不接管 Monaco 主题
9
10
  - 支持按需加载补全、诊断、跳转等能力
10
11
  - 支持注入全局上下文,增强编辑体验
11
12
 
@@ -1,6 +1,8 @@
1
1
  import type { IDisposable } from '../monaco-api.js';
2
2
  import { configuration } from './language-configuration.js';
3
+ import { registerMiraScriptTokensProvider } from './tokens-provider.js';
3
4
  export { configuration };
5
+ export { registerMiraScriptTokensProvider };
4
6
  /** 注册 */
5
7
  export declare function registerBasic(): Promise<IDisposable[]>;
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/basic/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAA4B,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGtF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,SAAS;AACT,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAI5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/basic/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAA4B,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,gCAAgC,EAAE,CAAC;AAE5C,SAAS;AACT,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAI5D"}
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  configuration,
3
- registerBasic
4
- } from "../chunk-I4CXN5VV.js";
3
+ registerBasic,
4
+ registerMiraScriptTokensProvider
5
+ } from "../chunk-NIQ5XOKS.js";
5
6
  import "../chunk-NAOKM25O.js";
6
7
  export {
7
8
  configuration,
8
- registerBasic
9
+ registerBasic,
10
+ registerMiraScriptTokensProvider
9
11
  };
10
12
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
1
  import { type IDisposable } from '../monaco-api.js';
2
- /** 注册 Mirascript TokensProvider */
2
+ /** Register TextMate-backed token providers without changing Monaco themes. */
3
3
  export declare function registerMiraScriptTokensProvider(): IDisposable[];
4
4
  //# sourceMappingURL=tokens-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens-provider.d.ts","sourceRoot":"","sources":["../../src/basic/tokens-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAmd/D,qCAAqC;AACrC,wBAAgB,gCAAgC,IAAI,WAAW,EAAE,CAMhE"}
1
+ {"version":3,"file":"tokens-provider.d.ts","sourceRoot":"","sources":["../../src/basic/tokens-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwH/D,+EAA+E;AAC/E,wBAAgB,gCAAgC,IAAI,WAAW,EAAE,CAOhE"}
@@ -0,0 +1,245 @@
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
+ REG_IDENTIFIER,
14
+ REG_ORDINAL,
15
+ REG_WHITESPACE,
16
+ REG_BIN,
17
+ REG_HEX,
18
+ REG_OCT,
19
+ REG_NUMBER,
20
+ REG_IDENTIFIER_FULL,
21
+ REG_ORDINAL_FULL
22
+ } from "@mirascript/constants";
23
+ var MAX_VERBATIM_LENGTH = 16;
24
+
25
+ // src/basic/language-configuration.ts
26
+ function indentAction(action) {
27
+ if (languages == null) {
28
+ return {
29
+ indent: action[0]?.toLowerCase() + action.slice(1)
30
+ };
31
+ }
32
+ return { indentAction: languages.IndentAction[action] };
33
+ }
34
+ var configuration = () => ({
35
+ comments: {
36
+ lineComment: { comment: "//" },
37
+ blockComment: ["/*", "*/"]
38
+ },
39
+ brackets: [
40
+ ...Array.from({ length: MAX_VERBATIM_LENGTH }).flatMap((_, i) => {
41
+ const prefix = "$".repeat(MAX_VERBATIM_LENGTH - i - 1);
42
+ return [
43
+ [`${prefix}{`, "}"],
44
+ [`${prefix}(`, ")"]
45
+ ];
46
+ }),
47
+ ["[", "]"]
48
+ ],
49
+ wordPattern: /((?<!\.\s*)[\d_]+\.[\d_]+([eE][+-]?[\d_]+)?)|([^`~!#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]+)/g,
50
+ autoClosingPairs: [
51
+ { open: "{", close: "}" },
52
+ { open: "[", close: "]" },
53
+ { open: "(", close: ")" },
54
+ { open: '"', close: '"', notIn: ["string"] },
55
+ { open: "'", close: "'", notIn: ["string", "comment"] },
56
+ { open: "`", close: "`", notIn: ["string", "comment"] },
57
+ { open: "/**", close: " */", notIn: ["string"] }
58
+ ],
59
+ onEnterRules: [
60
+ {
61
+ // e.g. /** | */
62
+ beforeText: /^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,
63
+ afterText: /^\s*\*\/$/,
64
+ action: {
65
+ ...indentAction("IndentOutdent"),
66
+ appendText: " * "
67
+ }
68
+ },
69
+ {
70
+ // e.g. /** ...|
71
+ beforeText: /^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,
72
+ action: {
73
+ ...indentAction("None"),
74
+ appendText: " * "
75
+ }
76
+ },
77
+ {
78
+ // e.g. * ...|
79
+ beforeText: /^(\t|( {2}))* \*( ([^*]|\*(?!\/))*)?$/,
80
+ action: {
81
+ ...indentAction("None"),
82
+ appendText: "* "
83
+ }
84
+ },
85
+ {
86
+ // e.g. */|
87
+ beforeText: /^(\t|( {2}))* \*\/\s*$/,
88
+ action: {
89
+ ...indentAction("None"),
90
+ removeText: 1
91
+ }
92
+ }
93
+ ],
94
+ autoCloseBefore: "*/%^ &| ><= )}] ;,?: '\"` \n ~#\\",
95
+ folding: {
96
+ markers: {
97
+ start: /^\s*\/\/#?\s*?region\b/gu,
98
+ end: /^\s*\/\/#?\s*?endregion\b/gu
99
+ }
100
+ }
101
+ });
102
+ function setLanguageConfiguration() {
103
+ return [
104
+ languages.setLanguageConfiguration("mirascript", configuration()),
105
+ languages.setLanguageConfiguration("mirascript-template", configuration()),
106
+ languages.setLanguageConfiguration("mirascript-doc", configuration())
107
+ ];
108
+ }
109
+
110
+ // src/basic/tokens-provider.ts
111
+ import { mirascript, mirascriptDoc, mirascriptTemplate } from "@mirascript/textmate";
112
+ var REGISTRATIONS = [mirascript, mirascriptTemplate, mirascriptDoc];
113
+ var TOKENIZE_MAX_LINE_LENGTH = 2e4;
114
+ var TOKENIZE_TIME_LIMIT = 500;
115
+ function tokenScope(scopes) {
116
+ const inInterpolation = scopes.some((scope) => scope.startsWith("meta.interpolation."));
117
+ let fallback = "";
118
+ const styledScopePrefixes = [
119
+ "invalid.",
120
+ "comment.",
121
+ "string.",
122
+ "keyword.",
123
+ "constant.",
124
+ "variable.",
125
+ "entity.",
126
+ "storage.",
127
+ "support.",
128
+ "markup."
129
+ ];
130
+ for (let index = scopes.length - 1; index >= 0; index -= 1) {
131
+ const scope = scopes[index];
132
+ if (scope === "source.mira" || scope === "source.mira.doc" || scope === "text.miratpl") continue;
133
+ if (scope.startsWith("meta.")) continue;
134
+ fallback ||= scope;
135
+ if (inInterpolation || styledScopePrefixes.some((prefix) => scope.startsWith(prefix))) return scope;
136
+ }
137
+ return fallback;
138
+ }
139
+ var HighlighterManager = class {
140
+ constructor() {
141
+ this.highlighterPromise = null;
142
+ }
143
+ /**
144
+ * Get the shared highlighter instance.
145
+ */
146
+ async getHighlighter() {
147
+ if (this.highlighterPromise) return this.highlighterPromise;
148
+ const [{ createHighlighterCore }, { createOnigurumaEngine }, wasm] = await Promise.all([
149
+ import("@shikijs/core"),
150
+ import("@shikijs/engine-oniguruma"),
151
+ import("@shikijs/engine-oniguruma/wasm-inlined")
152
+ ]);
153
+ this.highlighterPromise = createHighlighterCore({
154
+ langs: REGISTRATIONS,
155
+ themes: [],
156
+ engine: createOnigurumaEngine(wasm)
157
+ });
158
+ return this.highlighterPromise;
159
+ }
160
+ /** Get tokens provider factory of language */
161
+ getTokensProviderFactory(languageId) {
162
+ return {
163
+ create: async () => {
164
+ const highlighter = await this.getHighlighter();
165
+ const { INITIAL } = await import("@shikijs/vscode-textmate");
166
+ const grammar = highlighter.getLanguage(languageId);
167
+ return new TokensProvider(grammar, INITIAL);
168
+ }
169
+ };
170
+ }
171
+ /** @inheritdoc */
172
+ dispose() {
173
+ const promise = this.highlighterPromise;
174
+ this.highlighterPromise = null;
175
+ if (promise) {
176
+ promise.then((highlighter) => highlighter.dispose()).catch(() => {
177
+ console.error("Failed to dispose highlighter");
178
+ });
179
+ }
180
+ }
181
+ };
182
+ var TokensProvider = class {
183
+ constructor(grammar, initialState) {
184
+ this.grammar = grammar;
185
+ this.initialState = initialState;
186
+ }
187
+ /** @inheritdoc */
188
+ getInitialState() {
189
+ return this.initialState;
190
+ }
191
+ /** @inheritdoc */
192
+ tokenize(line, state) {
193
+ if (line.length >= TOKENIZE_MAX_LINE_LENGTH) {
194
+ console.warn(
195
+ `MiraScript TextMate tokenization skipped for line exceeding ${TOKENIZE_MAX_LINE_LENGTH} characters: ${line.slice(0, 100)}`
196
+ );
197
+ return {
198
+ endState: state,
199
+ tokens: [{ startIndex: 0, scopes: "" }]
200
+ };
201
+ }
202
+ const result = this.grammar.tokenizeLine(line, state, TOKENIZE_TIME_LIMIT);
203
+ if (result.stoppedEarly) {
204
+ console.warn(`MiraScript TextMate tokenization timed out: ${line.slice(0, 100)}`);
205
+ }
206
+ return {
207
+ endState: result.ruleStack,
208
+ tokens: result.tokens.map((token) => ({
209
+ startIndex: token.startIndex,
210
+ scopes: tokenScope(token.scopes)
211
+ }))
212
+ };
213
+ }
214
+ };
215
+ function registerMiraScriptTokensProvider() {
216
+ const manager = new HighlighterManager();
217
+ const disposables = REGISTRATIONS.map(
218
+ (reg) => languages.registerTokensProviderFactory(reg.name, manager.getTokensProviderFactory(reg.name))
219
+ );
220
+ disposables.push(manager);
221
+ return disposables;
222
+ }
223
+
224
+ // src/basic/index.ts
225
+ async function registerBasic() {
226
+ const { loadModule } = await import("@mirascript/bindings/wasm");
227
+ await loadModule();
228
+ return [...setLanguageConfiguration(), ...registerMiraScriptTokensProvider()];
229
+ }
230
+
231
+ export {
232
+ isKeyword,
233
+ KEYWORDS,
234
+ RESERVED_KEYWORDS,
235
+ REG_BIN,
236
+ REG_HEX,
237
+ REG_OCT,
238
+ REG_NUMBER,
239
+ REG_IDENTIFIER_FULL,
240
+ REG_ORDINAL_FULL,
241
+ configuration,
242
+ registerMiraScriptTokensProvider,
243
+ registerBasic
244
+ };
245
+ //# sourceMappingURL=chunk-NIQ5XOKS.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
+ }
@@ -1 +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;AACxD,YAAY,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,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"}
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;AACxD,YAAY,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,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;IAcxD,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"}
package/dist/index.js CHANGED
@@ -8,13 +8,13 @@ function registerContribution() {
8
8
  languages.register({
9
9
  id: "mirascript",
10
10
  extensions: [".mira"],
11
- aliases: ["MiraScript", "mirascript", "mira"],
11
+ aliases: ["MiraScript", "mira", "Mira"],
12
12
  mimetypes: ["text/x-mirascript"]
13
13
  });
14
14
  languages.register({
15
15
  id: "mirascript-template",
16
16
  extensions: [".miratpl"],
17
- aliases: ["MiraScriptTemplate", "mirascript-template", "miratpl"],
17
+ aliases: ["MiraScript-Template", "miratpl", "MiraTpl"],
18
18
  mimetypes: ["text/x-mirascript-template"]
19
19
  });
20
20
  languages.register({
@@ -41,6 +41,7 @@ var MiraScriptMonacoLoader = class {
41
41
  languages.onLanguage("mirascript", _loadFullFeatures);
42
42
  languages.onLanguageEncountered("mirascript-template", _loadBasicFeatures);
43
43
  languages.onLanguage("mirascript-template", _loadFullFeatures);
44
+ languages.onLanguageEncountered("mirascript-doc", _loadBasicFeatures);
44
45
  }
45
46
  /** 加载基础功能 */
46
47
  async loadBasicFeatures() {
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/contribute.ts", "../src/index.ts"],
4
- "mappings": ";;;;;;AAGO,SAAS,uBAA6B;AACzC,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC,OAAO;AAAA,IACpB,SAAS,CAAC,cAAc,cAAc,MAAM;AAAA,IAC5C,WAAW,CAAC,mBAAmB;AAAA,EACnC,CAAC;AAED,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC,UAAU;AAAA,IACvB,SAAS,CAAC,sBAAsB,uBAAuB,SAAS;AAAA,IAChE,WAAW,CAAC,4BAA4B;AAAA,EAC5C,CAAC;AAED,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC;AAAA,IACb,SAAS,CAAC;AAAA,IACV,WAAW,CAAC,uBAAuB;AAAA,EACvC,CAAC;AACL;;;ACdO,IAAM,yBAAN,MAAoD;AAAA,EACvD,YAAqB,iBAAqC;AAArC;AAYrB,oBAA8B,CAAC;AAC/B,SAAQ,uBAAuB;AAC/B,SAAQ,qBAAqB;AA4B7B,SAAiB,cAA6B,CAAC;AAC/C,SAAQ,WAAW;AA1Cf,yBAAqB;AAErB,UAAM,qBAAqB,MAAM,KAAK,KAAK,kBAAkB;AAC7D,UAAM,oBAAoB,MAAM,KAAK,KAAK,gBAAgB;AAE1D,cAAU,sBAAsB,cAAc,kBAAkB;AAChE,cAAU,WAAW,cAAc,iBAAiB;AAEpD,cAAU,sBAAsB,uBAAuB,kBAAkB;AACzE,cAAU,WAAW,uBAAuB,iBAAiB;AAAA,EACjE;AAAA;AAAA,EAKA,MAAM,oBAAmC;AACrC,QAAI;AACA,YAAM,EAAE,cAAc,IAAI,MAAM,OAAO,kBAAkB;AACzD,UAAI,KAAK,wBAAwB,KAAK,SAAU;AAChD,WAAK,uBAAuB;AAC5B,WAAK,YAAY,KAAK,GAAI,MAAM,cAAc,CAAE;AAAA,IACpD,SAAS,OAAO;AAEZ,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,kBAAiC;AACnC,QAAI;AACA,YAAM,QAAQ,KAAK,kBAAkB;AACrC,YAAM,EAAE,YAAY,IAAI,MAAM,OAAO,gBAAgB;AACrD,YAAM;AACN,UAAI,KAAK,sBAAsB,KAAK,SAAU;AAC9C,WAAK,qBAAqB;AAC1B,WAAK,YAAY,KAAK,GAAI,MAAM,YAAY,KAAK,iBAAiB,KAAK,QAAQ,CAAE;AAAA,IACrF,SAAS,OAAO;AAEZ,cAAQ,MAAM,2CAA2C,KAAK;AAAA,IAClE;AAAA,EACJ;AAAA;AAAA,EAKA,UAAgB;AACZ,QAAI,KAAK,UAAU;AACf,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACvE;AACA,SAAK,WAAW;AAChB,eAAW,KAAK,KAAK,YAAY,OAAO,CAAC,GAAG;AACxC,QAAE,QAAQ;AAAA,IACd;AAAA,EACJ;AACJ;AAKO,SAAS,mBAAmB,WAAsB,gBAA4D;AACjH,oBAAkB,SAAS;AAC3B,SAAO,IAAI,uBAAuB,cAAc;AACpD;",
4
+ "mappings": ";;;;;;AAGO,SAAS,uBAA6B;AACzC,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC,OAAO;AAAA,IACpB,SAAS,CAAC,cAAc,QAAQ,MAAM;AAAA,IACtC,WAAW,CAAC,mBAAmB;AAAA,EACnC,CAAC;AAED,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC,UAAU;AAAA,IACvB,SAAS,CAAC,uBAAuB,WAAW,SAAS;AAAA,IACrD,WAAW,CAAC,4BAA4B;AAAA,EAC5C,CAAC;AAED,YAAU,SAAS;AAAA,IACf,IAAI;AAAA,IACJ,YAAY,CAAC;AAAA,IACb,SAAS,CAAC;AAAA,IACV,WAAW,CAAC,uBAAuB;AAAA,EACvC,CAAC;AACL;;;ACdO,IAAM,yBAAN,MAAoD;AAAA,EACvD,YAAqB,iBAAqC;AAArC;AAcrB,oBAA8B,CAAC;AAC/B,SAAQ,uBAAuB;AAC/B,SAAQ,qBAAqB;AA4B7B,SAAiB,cAA6B,CAAC;AAC/C,SAAQ,WAAW;AA5Cf,yBAAqB;AAErB,UAAM,qBAAqB,MAAM,KAAK,KAAK,kBAAkB;AAC7D,UAAM,oBAAoB,MAAM,KAAK,KAAK,gBAAgB;AAE1D,cAAU,sBAAsB,cAAc,kBAAkB;AAChE,cAAU,WAAW,cAAc,iBAAiB;AAEpD,cAAU,sBAAsB,uBAAuB,kBAAkB;AACzE,cAAU,WAAW,uBAAuB,iBAAiB;AAE7D,cAAU,sBAAsB,kBAAkB,kBAAkB;AAAA,EACxE;AAAA;AAAA,EAKA,MAAM,oBAAmC;AACrC,QAAI;AACA,YAAM,EAAE,cAAc,IAAI,MAAM,OAAO,kBAAkB;AACzD,UAAI,KAAK,wBAAwB,KAAK,SAAU;AAChD,WAAK,uBAAuB;AAC5B,WAAK,YAAY,KAAK,GAAI,MAAM,cAAc,CAAE;AAAA,IACpD,SAAS,OAAO;AAEZ,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,kBAAiC;AACnC,QAAI;AACA,YAAM,QAAQ,KAAK,kBAAkB;AACrC,YAAM,EAAE,YAAY,IAAI,MAAM,OAAO,gBAAgB;AACrD,YAAM;AACN,UAAI,KAAK,sBAAsB,KAAK,SAAU;AAC9C,WAAK,qBAAqB;AAC1B,WAAK,YAAY,KAAK,GAAI,MAAM,YAAY,KAAK,iBAAiB,KAAK,QAAQ,CAAE;AAAA,IACrF,SAAS,OAAO;AAEZ,cAAQ,MAAM,2CAA2C,KAAK;AAAA,IAClE;AAAA,EACJ;AAAA;AAAA,EAKA,UAAgB;AACZ,QAAI,KAAK,UAAU;AACf,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACvE;AACA,SAAK,WAAW;AAChB,eAAW,KAAK,KAAK,YAAY,OAAO,CAAC,GAAG;AACxC,QAAE,QAAQ;AAAA,IACd;AAAA,EACJ;AACJ;AAKO,SAAS,mBAAmB,WAAsB,gBAA4D;AACjH,oBAAkB,SAAS;AAC3B,SAAO,IAAI,uBAAuB,cAAc;AACpD;",
5
5
  "names": []
6
6
  }
package/dist/lsp/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  REG_ORDINAL_FULL,
9
9
  RESERVED_KEYWORDS,
10
10
  isKeyword
11
- } from "../chunk-I4CXN5VV.js";
11
+ } from "../chunk-NIQ5XOKS.js";
12
12
  import {
13
13
  Emitter,
14
14
  MarkerSeverity,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/monaco",
3
- "version": "0.1.79",
3
+ "version": "0.1.82",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "Monaco Editor integration for Mirascript.",
@@ -41,10 +41,14 @@
41
41
  }
42
42
  },
43
43
  "dependencies": {
44
- "@mirascript/constants": "~0.1.79",
45
- "@mirascript/mirascript": "~0.1.79",
46
- "@mirascript/help": "~0.1.79",
47
- "@mirascript/bindings": "~0.1.79"
44
+ "@shikijs/core": "^4.4.2",
45
+ "@shikijs/engine-oniguruma": "^4.4.2",
46
+ "@shikijs/vscode-textmate": "^10.0.2",
47
+ "@mirascript/bindings": "~0.1.82",
48
+ "@mirascript/help": "~0.1.82",
49
+ "@mirascript/constants": "~0.1.82",
50
+ "@mirascript/mirascript": "~0.1.82",
51
+ "@mirascript/textmate": "~0.1.82"
48
52
  },
49
53
  "peerDependencies": {
50
54
  "monaco-editor": ">= 0.0.40"
@@ -3,6 +3,8 @@ import { setLanguageConfiguration, configuration } from './language-configuratio
3
3
  import { registerMiraScriptTokensProvider } from './tokens-provider.js';
4
4
 
5
5
  export { configuration };
6
+ export { registerMiraScriptTokensProvider };
7
+
6
8
  /** 注册 */
7
9
  export async function registerBasic(): Promise<IDisposable[]> {
8
10
  const { loadModule } = await import('@mirascript/bindings/wasm');