@mirascript/monaco 0.1.9 → 0.1.11
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/dist/basic/index.d.ts.map +1 -1
- package/dist/basic/index.js +1 -1
- package/dist/basic/language-configuration.d.ts.map +1 -1
- package/dist/basic/tokens-provider.d.ts.map +1 -1
- package/dist/{chunk-OTLGDSYY.js → chunk-LWDQEIU4.js} +114 -81
- package/dist/chunk-LWDQEIU4.js.map +6 -0
- package/dist/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/contribute.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lsp/index.d.ts.map +1 -1
- package/dist/lsp/index.js +130 -103
- package/dist/lsp/index.js.map +2 -2
- package/dist/lsp/providers/base.d.ts +11 -2
- package/dist/lsp/providers/base.d.ts.map +1 -1
- package/dist/lsp/providers/completion-item-provider.d.ts.map +1 -1
- package/dist/lsp/providers/definition-reference-provider.d.ts.map +1 -1
- package/dist/lsp/providers/hover-provider.d.ts.map +1 -1
- package/dist/lsp/utils.d.ts +4 -4
- package/dist/lsp/utils.d.ts.map +1 -1
- package/dist/lsp/worker-helper.d.ts.map +1 -1
- package/dist/lsp/worker.d.ts +2 -2
- package/dist/lsp/worker.d.ts.map +1 -1
- package/dist/lsp/worker.js +3 -2
- package/dist/lsp/worker.js.map +1 -1
- package/package.json +3 -4
- package/src/basic/index.ts +2 -2
- package/src/basic/language-configuration.ts +2 -1
- package/src/basic/tokens-provider.ts +100 -64
- package/src/constants.ts +8 -9
- package/src/contribute.ts +7 -0
- package/src/lsp/index.ts +2 -2
- package/src/lsp/providers/base.ts +23 -3
- package/src/lsp/providers/color-provider.ts +1 -1
- package/src/lsp/providers/completion-item-provider.ts +7 -5
- package/src/lsp/providers/definition-reference-provider.ts +58 -52
- package/src/lsp/providers/document-symbol-provider.ts +1 -1
- package/src/lsp/providers/hover-provider.ts +8 -20
- package/src/lsp/providers/inlay-hints-provider.ts +1 -1
- package/src/lsp/providers/rename-provider.ts +1 -1
- package/src/lsp/providers/semantic-tokens-provider.ts +4 -4
- package/src/lsp/providers/signature-help-provider.ts +1 -1
- package/src/lsp/utils.ts +40 -18
- package/src/lsp/worker-helper.ts +6 -2
- package/src/lsp/worker.ts +6 -3
- package/dist/chunk-OTLGDSYY.js.map +0 -6
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type languages,
|
|
7
7
|
type Position,
|
|
8
8
|
} from '../../monaco-api.js';
|
|
9
|
-
import { DiagnosticCode } from '@mirascript/wasm';
|
|
9
|
+
import { DiagnosticCode } from '@mirascript/bindings/wasm';
|
|
10
10
|
import { Provider } from './base.js';
|
|
11
11
|
import type { CompileResult } from '../compile-result.js';
|
|
12
12
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isVmFunction, isVmModule } from '@mirascript/mirascript';
|
|
2
|
-
import { DiagnosticCode } from '@mirascript/wasm';
|
|
2
|
+
import { DiagnosticCode } from '@mirascript/bindings/wasm';
|
|
3
3
|
import { Range, type CancellationToken, type editor, type languages } from '../../monaco-api.js';
|
|
4
4
|
import { Provider } from './base.js';
|
|
5
5
|
|
|
@@ -22,9 +22,9 @@ const TOKEN_TYPES: Record<TokenType, string> = {
|
|
|
22
22
|
[TokenType.CONSTANT]: 'variable.other.constant',
|
|
23
23
|
[TokenType.GLOBAL]: 'variable',
|
|
24
24
|
[TokenType.FUNCTION]: 'entity.name.function',
|
|
25
|
-
[TokenType.MODULE]: '
|
|
26
|
-
[TokenType.PROPERTY]: '
|
|
27
|
-
[TokenType.KEYWORD_CONTROL]: 'keyword.
|
|
25
|
+
[TokenType.MODULE]: 'type',
|
|
26
|
+
[TokenType.PROPERTY]: 'variable.other.property',
|
|
27
|
+
[TokenType.KEYWORD_CONTROL]: 'keyword.flow',
|
|
28
28
|
[TokenType.PARAM]: 'variable.other.constant.emphasis',
|
|
29
29
|
[TokenType.PARAM_MUTABLE]: 'variable.emphasis',
|
|
30
30
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiagnosticCode } from '@mirascript/wasm';
|
|
1
|
+
import { DiagnosticCode } from '@mirascript/bindings/wasm';
|
|
2
2
|
import { type editor, type languages, type CancellationToken, Position, Range } from '../../monaco-api.js';
|
|
3
3
|
import { Provider } from './base.js';
|
|
4
4
|
import { fnSignature, getDeep, localParamSignature, strictContainsPosition } from '../utils.js';
|
package/src/lsp/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiagnosticCode } from '@mirascript/wasm';
|
|
1
|
+
import { DiagnosticCode } from '@mirascript/bindings/wasm';
|
|
2
2
|
import { type editor, Range, type IPosition, type IRange } from '../monaco-api.js';
|
|
3
3
|
import {
|
|
4
4
|
getVmFunctionInfo,
|
|
@@ -10,8 +10,10 @@ import {
|
|
|
10
10
|
isVmRecord,
|
|
11
11
|
serialize,
|
|
12
12
|
type VmAny,
|
|
13
|
+
type VmModule,
|
|
13
14
|
type VmFunctionInfo,
|
|
14
15
|
type VmValue,
|
|
16
|
+
type VmExtern,
|
|
15
17
|
} from '@mirascript/mirascript';
|
|
16
18
|
import { operations, serializePropName, serializeString } from '@mirascript/mirascript/subtle';
|
|
17
19
|
import type { LocalDefinition } from './compile-result.js';
|
|
@@ -125,23 +127,24 @@ export function globalFnDoc(info: VmFunctionInfo): string[] {
|
|
|
125
127
|
paramDoc.push(`- **返回值**: ${info.returns}`);
|
|
126
128
|
}
|
|
127
129
|
if (paramDoc.length) {
|
|
128
|
-
doc.push(paramDoc.join('\n'));
|
|
130
|
+
doc.push('', paramDoc.join('\n'));
|
|
129
131
|
}
|
|
130
132
|
if (info.examples?.length) {
|
|
131
133
|
let exp = `### 示例`;
|
|
132
134
|
for (const example of info.examples) {
|
|
133
135
|
exp += codeblock(example);
|
|
134
136
|
}
|
|
135
|
-
doc.push(exp);
|
|
137
|
+
doc.push('', exp);
|
|
136
138
|
}
|
|
137
139
|
return doc;
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
/** 获取代码块格式化字符串 */
|
|
141
143
|
export function codeblock(value: string): string {
|
|
144
|
+
const lang = value.startsWith('\0') ? 'mirascript-doc' : 'mirascript';
|
|
142
145
|
const includeFences = /`{3,}/.exec(value);
|
|
143
146
|
const CODEBLOCK_FENCE = includeFences ? '`'.repeat(includeFences[0].length + 1) : '```';
|
|
144
|
-
return `\n${CODEBLOCK_FENCE}
|
|
147
|
+
return `\n${CODEBLOCK_FENCE}${lang}\n${value}\n${CODEBLOCK_FENCE}\n`;
|
|
145
148
|
}
|
|
146
149
|
|
|
147
150
|
/** 检查位置是否在范围内,且范围非空 */
|
|
@@ -179,11 +182,14 @@ function serializeForDisplayInner(value: VmValue, maxWidth: number): string {
|
|
|
179
182
|
if (!len) return '()';
|
|
180
183
|
return `(../* x${len} */)`;
|
|
181
184
|
}
|
|
185
|
+
if (isVmExtern(value)) {
|
|
186
|
+
return `/* <extern ${value.describe}> */`;
|
|
187
|
+
}
|
|
182
188
|
return `/* ${operations.$ToString(value)} */`;
|
|
183
189
|
}
|
|
184
190
|
|
|
185
191
|
/** 将值序列化为便于展示的字符串 */
|
|
186
|
-
|
|
192
|
+
function serializeForDisplay(value: Exclude<VmValue, VmModule>, maxEntries = 100, maxWidth = 40): string {
|
|
187
193
|
if (isVmPrimitive(value) || isVmFunction(value)) {
|
|
188
194
|
return serializeForDisplayInner(value, maxWidth);
|
|
189
195
|
}
|
|
@@ -217,11 +223,24 @@ export function serializeForDisplay(value: VmValue, maxEntries = 100, maxWidth =
|
|
|
217
223
|
resultLength += entry.length;
|
|
218
224
|
}
|
|
219
225
|
} else {
|
|
220
|
-
const hint = serializeForDisplayInner(value, 100);
|
|
221
|
-
const isArray =
|
|
226
|
+
const hint = serializeForDisplayInner(value satisfies VmExtern, 100);
|
|
227
|
+
const isArray = Array.isArray(value.value);
|
|
222
228
|
begin = `${hint} ${isArray ? '[' : '('}`;
|
|
223
229
|
end = isArray ? ']' : ')';
|
|
224
230
|
const keys = value.keys();
|
|
231
|
+
if (keys.length === 0 && !isArray) {
|
|
232
|
+
if (typeof value.value == 'object') {
|
|
233
|
+
// 没有可枚举属性,尝试获取所有属性,仅在 LSP 进行展示时使用
|
|
234
|
+
// 实际程序运行时这些属性仍然不可通过 `keys()` 或 `for .. in` 访问
|
|
235
|
+
for (const key of Object.getOwnPropertyNames(value.value)) {
|
|
236
|
+
if (value.has(key)) keys.push(key);
|
|
237
|
+
}
|
|
238
|
+
} else {
|
|
239
|
+
// 没有可枚举属性的函数
|
|
240
|
+
begin = hint;
|
|
241
|
+
end = '';
|
|
242
|
+
}
|
|
243
|
+
}
|
|
225
244
|
for (const [index, key] of keys.entries()) {
|
|
226
245
|
if (entries.length > maxEntries) {
|
|
227
246
|
entries.push(`../* x${keys.length - entries.length} */`);
|
|
@@ -245,6 +264,15 @@ export function serializeForDisplay(value: VmValue, maxEntries = 100, maxWidth =
|
|
|
245
264
|
return `${begin}${entries.join(', ')}${end}`;
|
|
246
265
|
}
|
|
247
266
|
|
|
267
|
+
/** 生成 doc comment */
|
|
268
|
+
export function docComment(doc: string[]): string[] {
|
|
269
|
+
const lines = doc.flatMap((sec) => sec.split('\n').map((s) => s.trimEnd()));
|
|
270
|
+
const firstLine = lines.findIndex((line) => line.length > 0);
|
|
271
|
+
const lastLine = lines.findLastIndex((line) => line.length > 0);
|
|
272
|
+
if (firstLine < 0 || lastLine < 0) return [];
|
|
273
|
+
return [`/**`, ...lines.slice(firstLine, lastLine + 1).map((line) => ` * ${line}`), ` */`];
|
|
274
|
+
}
|
|
275
|
+
|
|
248
276
|
/** 获取变量文档 */
|
|
249
277
|
export function valueDoc(
|
|
250
278
|
name: string,
|
|
@@ -283,14 +311,7 @@ export function valueDoc(
|
|
|
283
311
|
for (const k of exports) {
|
|
284
312
|
const v = value.get(k);
|
|
285
313
|
const vDoc = valueDoc(k, v, isVmModule(v) ? 'field' : 'declare');
|
|
286
|
-
const code = [
|
|
287
|
-
`/**`,
|
|
288
|
-
...vDoc.doc.flatMap((sec) => sec.split('\n')).map((line) => ` * ${line}`),
|
|
289
|
-
` */`,
|
|
290
|
-
'export ' + vDoc.script,
|
|
291
|
-
'',
|
|
292
|
-
'',
|
|
293
|
-
];
|
|
314
|
+
const code = [...docComment(vDoc.doc), 'export ' + vDoc.script, '', ''];
|
|
294
315
|
script += code.join('\n');
|
|
295
316
|
}
|
|
296
317
|
script = script.trimEnd();
|
|
@@ -312,11 +333,12 @@ export function valueDoc(
|
|
|
312
333
|
}
|
|
313
334
|
|
|
314
335
|
/** 获取深层属性 */
|
|
315
|
-
export function getDeep(value: VmAny, path: readonly string[]):
|
|
336
|
+
export function getDeep(value: VmAny, path: readonly string[]): VmAny {
|
|
316
337
|
let current: VmAny = value;
|
|
317
338
|
for (const key of path) {
|
|
318
|
-
if (current == null) return
|
|
339
|
+
if (current == null) return current;
|
|
340
|
+
if (!operations.$Has(current, key)) return undefined;
|
|
319
341
|
current = operations.$Get(current, key);
|
|
320
342
|
}
|
|
321
|
-
return current
|
|
343
|
+
return current;
|
|
322
344
|
}
|
package/src/lsp/worker-helper.ts
CHANGED
|
@@ -76,11 +76,15 @@ async function compileWorker(req: Req): Promise<CompileResult> {
|
|
|
76
76
|
return new CompileResult(key, version, source, result);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
let compileImpl: typeof import('./worker.js').compile;
|
|
79
80
|
/** 使用当前线程编译 */
|
|
80
81
|
async function compileSync(req: Req): Promise<CompileResult> {
|
|
81
82
|
const [key, version, script, mode] = req;
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
if (compileImpl == null) {
|
|
84
|
+
const mod = await import('./worker.js');
|
|
85
|
+
compileImpl = mod.compile;
|
|
86
|
+
}
|
|
87
|
+
const result = compileImpl(script, mode);
|
|
84
88
|
return new CompileResult(key, version, script, result);
|
|
85
89
|
}
|
|
86
90
|
|
package/src/lsp/worker.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { createConfig, type CompileResult, wasm, ready } from '@mirascript/wasm';
|
|
2
1
|
import type { InputMode } from '@mirascript/mirascript';
|
|
3
|
-
|
|
2
|
+
import type { BcModule } from '@mirascript/bindings/wasm';
|
|
3
|
+
|
|
4
|
+
const { loadModule } = await import('@mirascript/bindings/wasm');
|
|
5
|
+
const mod = await loadModule();
|
|
6
|
+
const { wasm, createConfig } = mod;
|
|
4
7
|
|
|
5
8
|
/** Monaco 编译结果 */
|
|
6
|
-
export interface MonacoResult extends CompileResult {
|
|
9
|
+
export interface MonacoResult extends BcModule.CompileResult {
|
|
7
10
|
/** 格式化结果 */
|
|
8
11
|
formatted?: string;
|
|
9
12
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/basic/index.ts", "../src/constants.ts", "../src/basic/language-configuration.ts", "../src/basic/tokens-provider.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|