@mirascript/monaco 0.1.9 → 0.1.10
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.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-KA3F2DFK.js} +105 -71
- package/dist/chunk-KA3F2DFK.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.js +114 -91
- 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/package.json +3 -4
- package/src/basic/language-configuration.ts +2 -1
- package/src/basic/tokens-provider.ts +100 -64
- package/src/constants.ts +0 -3
- package/src/contribute.ts +7 -0
- package/src/lsp/providers/base.ts +23 -3
- package/src/lsp/providers/completion-item-provider.ts +7 -5
- package/src/lsp/providers/definition-reference-provider.ts +58 -52
- package/src/lsp/providers/hover-provider.ts +7 -19
- package/src/lsp/providers/semantic-tokens-provider.ts +3 -3
- package/src/lsp/utils.ts +39 -17
- package/dist/chunk-OTLGDSYY.js.map +0 -6
|
@@ -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
|
};
|
package/src/lsp/utils.ts
CHANGED
|
@@ -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
|
}
|
|
@@ -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
|
-
}
|