@aster-cloud/aster-lang-ts 1.0.32 → 1.0.34
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/scripts/corpus-loader.d.ts +10 -4
- package/dist/scripts/corpus-loader.d.ts.map +1 -1
- package/dist/scripts/corpus-loader.js +24 -9
- package/dist/scripts/corpus-loader.js.map +1 -1
- package/dist/scripts/lexicon-completeness.d.ts +42 -0
- package/dist/scripts/lexicon-completeness.d.ts.map +1 -0
- package/dist/scripts/lexicon-completeness.js +57 -0
- package/dist/scripts/lexicon-completeness.js.map +1 -0
- package/dist/scripts/lsp-client-helper.d.ts +7 -1
- package/dist/scripts/lsp-client-helper.d.ts.map +1 -1
- package/dist/scripts/lsp-client-helper.js +6 -1
- package/dist/scripts/lsp-client-helper.js.map +1 -1
- package/dist/scripts/verify-lexicon-sync.js +14 -44
- package/dist/scripts/verify-lexicon-sync.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +6 -1
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +39 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/lsp/codeaction.d.ts.map +1 -1
- package/dist/src/lsp/codeaction.js +12 -4
- package/dist/src/lsp/codeaction.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts +2 -0
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +4 -0
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
- package/dist/src/lsp/navigation/hover.js +23 -0
- package/dist/src/lsp/navigation/hover.js.map +1 -1
- package/dist/src/lsp/navigation/references.d.ts +3 -1
- package/dist/src/lsp/navigation/references.d.ts.map +1 -1
- package/dist/src/lsp/navigation/references.js +16 -6
- package/dist/src/lsp/navigation/references.js.map +1 -1
- package/dist/src/lsp/navigation/rename.d.ts +1 -1
- package/dist/src/lsp/navigation/rename.d.ts.map +1 -1
- package/dist/src/lsp/navigation/rename.js +31 -42
- package/dist/src/lsp/navigation/rename.js.map +1 -1
- package/dist/src/lsp/navigation/shared.d.ts +34 -2
- package/dist/src/lsp/navigation/shared.d.ts.map +1 -1
- package/dist/src/lsp/navigation/shared.js +88 -10
- package/dist/src/lsp/navigation/shared.js.map +1 -1
- package/dist/src/lsp/navigation.js +2 -2
- package/dist/src/lsp/navigation.js.map +1 -1
- package/dist/src/lsp/parse-document.d.ts +11 -0
- package/dist/src/lsp/parse-document.d.ts.map +1 -0
- package/dist/src/lsp/parse-document.js +51 -0
- package/dist/src/lsp/parse-document.js.map +1 -0
- package/dist/src/lsp/server.js +18 -23
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/settings.d.ts +35 -0
- package/dist/src/lsp/settings.d.ts.map +1 -0
- package/dist/src/lsp/settings.js +31 -0
- package/dist/src/lsp/settings.js.map +1 -0
- package/dist/src/lsp/source-positions.d.ts +47 -0
- package/dist/src/lsp/source-positions.d.ts.map +1 -0
- package/dist/src/lsp/source-positions.js +92 -0
- package/dist/src/lsp/source-positions.js.map +1 -0
- package/dist/src/lsp/workspace/document-indexer.d.ts +3 -1
- package/dist/src/lsp/workspace/document-indexer.d.ts.map +1 -1
- package/dist/src/lsp/workspace/document-indexer.js +5 -7
- package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
- package/dist/src/lsp/workspace/symbol-finder.d.ts +8 -1
- package/dist/src/lsp/workspace/symbol-finder.d.ts.map +1 -1
- package/dist/src/lsp/workspace/symbol-finder.js +10 -13
- package/dist/src/lsp/workspace/symbol-finder.js.map +1 -1
- package/dist/src/parser/constraint-parser.d.ts.map +1 -1
- package/dist/src/parser/constraint-parser.js +18 -7
- package/dist/src/parser/constraint-parser.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +6 -5
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +42 -37
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts.map +1 -1
- package/dist/src/parser/import-parser.js +2 -1
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser/keyword-display.d.ts +40 -0
- package/dist/src/parser/keyword-display.d.ts.map +1 -0
- package/dist/src/parser/keyword-display.js +73 -0
- package/dist/src/parser/keyword-display.js.map +1 -0
- package/dist/src/parser/type-parser.d.ts.map +1 -1
- package/dist/src/parser/type-parser.js +5 -4
- package/dist/src/parser/type-parser.js.map +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +1 -0
- package/dist/src/parser.js.map +1 -1
- package/dist/test/integration/lsp/lsp-rename-safety.test.d.ts +2 -0
- package/dist/test/integration/lsp/lsp-rename-safety.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-rename-safety.test.js +114 -0
- package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-source-positions.test.d.ts +2 -0
- package/dist/test/integration/lsp/lsp-source-positions.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-source-positions.test.js +161 -0
- package/dist/test/integration/lsp/lsp-source-positions.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.d.ts +2 -0
- package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.js +79 -0
- package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.js.map +1 -0
- package/dist/test/unit/lexicon-completeness.test.d.ts +2 -0
- package/dist/test/unit/lexicon-completeness.test.d.ts.map +1 -0
- package/dist/test/unit/lexicon-completeness.test.js +42 -0
- package/dist/test/unit/lexicon-completeness.test.js.map +1 -0
- package/dist/test/unit/lsp/codeaction.test.js +28 -0
- package/dist/test/unit/lsp/codeaction.test.js.map +1 -1
- package/dist/test/unit/lsp/lsp-locale-fixes.test.d.ts +2 -0
- package/dist/test/unit/lsp/lsp-locale-fixes.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/lsp-locale-fixes.test.js +105 -0
- package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -0
- package/dist/test/unit/lsp/parse-document.test.d.ts +2 -0
- package/dist/test/unit/lsp/parse-document.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/parse-document.test.js +30 -0
- package/dist/test/unit/lsp/parse-document.test.js.map +1 -0
- package/dist/test/unit/parser/keyword-display.test.d.ts +8 -0
- package/dist/test/unit/parser/keyword-display.test.d.ts.map +1 -0
- package/dist/test/unit/parser/keyword-display.test.js +27 -0
- package/dist/test/unit/parser/keyword-display.test.js.map +1 -0
- package/dist/test/unit/parser/localized-diagnostic-keywords.test.d.ts +15 -0
- package/dist/test/unit/parser/localized-diagnostic-keywords.test.d.ts.map +1 -0
- package/dist/test/unit/parser/localized-diagnostic-keywords.test.js +98 -0
- package/dist/test/unit/parser/localized-diagnostic-keywords.test.js.map +1 -0
- package/dist/test/unit/parser/prefix-operator-call.test.js +8 -6
- package/dist/test/unit/parser/prefix-operator-call.test.js.map +1 -1
- package/dist/test/unit/scripts/corpus-loader.test.js +44 -9
- package/dist/test/unit/scripts/corpus-loader.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
* 提供文本处理、偏移量转换和 AST 辅助功能
|
|
4
4
|
*/
|
|
5
5
|
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
6
|
+
import { type Lexicon } from '../../config/lexicons/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* 词法分析并把 token 位置映射回原文坐标(导航取词/查找用)。
|
|
9
|
+
* canonicalize 会删冠词等、改变行内长度,直接用规范化文本的列号会改错位置。
|
|
10
|
+
*/
|
|
11
|
+
export declare function lexInSourceCoordinates(text: string, lexicon?: Lexicon): readonly any[];
|
|
12
|
+
/**
|
|
13
|
+
* 是否为该文档语言的关键字。无 lexicon(en 文档在服务端就是这样)时按 en-US 判定——
|
|
14
|
+
* 否则 en 下 `Return` / `Rule` 也能被重命名,重命名会改掉所有同名关键字。
|
|
15
|
+
*/
|
|
16
|
+
export declare function isKeywordFor(word: string, lexicon?: Lexicon): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 光标处的**可编辑**标识符:必须是标识符 token、位置与原文逐字对齐、且不是关键字。
|
|
19
|
+
* ★重命名/引用只能基于它,不能退回字符级或正则取词——冠词(the / eine)不是 token,
|
|
20
|
+
* 退回字符级会取到 `the`,再退回全文正则就把每个 the 都改掉。
|
|
21
|
+
*/
|
|
22
|
+
export declare function identifierTokenAt(tokens: readonly any[], text: string, offset: number, lexicon?: Lexicon): {
|
|
23
|
+
name: string;
|
|
24
|
+
start: number;
|
|
25
|
+
end: number;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* 某名字在 token 流里的全部**确定**位置。uncertain=true 表示存在同名但位置非逐字对齐的 token
|
|
29
|
+
* (领域词汇翻译、推算位置)——此时重命名必须整体拒绝,不能只改一部分或改到推算的位置。
|
|
30
|
+
*/
|
|
31
|
+
export declare function exactIdentifierPositions(tokens: readonly any[], text: string, name: string): {
|
|
32
|
+
positions: Array<{
|
|
33
|
+
start: number;
|
|
34
|
+
end: number;
|
|
35
|
+
}>;
|
|
36
|
+
uncertain: boolean;
|
|
37
|
+
};
|
|
6
38
|
import type { Module as AstModule, Declaration as AstDecl, Func as AstFunc, Block as AstBlock, Span } from '../../types.js';
|
|
7
39
|
/**
|
|
8
40
|
* 转义字符串中的正则元字符,使其可安全嵌入 `new RegExp(...)`。
|
|
@@ -16,7 +48,7 @@ export declare function escapeRegExp(str: string): string;
|
|
|
16
48
|
* @param offset 偏移量位置
|
|
17
49
|
* @returns 捕获的单词,如果不在单词位置则返回 null
|
|
18
50
|
*/
|
|
19
|
-
export declare function captureWordAt(text: string, offset: number): string | null;
|
|
51
|
+
export declare function captureWordAt(text: string, offset: number, lexicon?: Lexicon): string | null;
|
|
20
52
|
/**
|
|
21
53
|
* 查找文本中所有单词出现位置
|
|
22
54
|
* @param text 文本内容
|
|
@@ -33,7 +65,7 @@ export declare function findWordPositions(text: string, word: string): Array<{
|
|
|
33
65
|
* @param word 要查找的标记或单词
|
|
34
66
|
* @returns 标记位置数组,如果词法分析失败则回退到正则匹配
|
|
35
67
|
*/
|
|
36
|
-
export declare function findTokenPositionsSafe(text: string, word: string): Array<{
|
|
68
|
+
export declare function findTokenPositionsSafe(text: string, word: string, lexicon?: Lexicon): Array<{
|
|
37
69
|
start: number;
|
|
38
70
|
end: number;
|
|
39
71
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,69 @@ import { typeText } from '../completion.js';
|
|
|
6
6
|
import { canonicalize } from '../../frontend/canonicalizer.js';
|
|
7
7
|
import { lex } from '../../frontend/lexer.js';
|
|
8
8
|
import { TokenKind } from '../../frontend/tokens.js';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { findSemanticTokenKind } from '../../config/lexicons/types.js';
|
|
11
|
+
import { buildCanonicalizeOptions } from '../canonicalize-options.js';
|
|
12
|
+
import { alignTokensToSource } from '../source-positions.js';
|
|
13
|
+
import { EN_US } from '../../config/lexicons/en-US.js';
|
|
14
|
+
/**
|
|
15
|
+
* 词法分析并把 token 位置映射回原文坐标(导航取词/查找用)。
|
|
16
|
+
* canonicalize 会删冠词等、改变行内长度,直接用规范化文本的列号会改错位置。
|
|
17
|
+
*/
|
|
18
|
+
export function lexInSourceCoordinates(text, lexicon) {
|
|
19
|
+
const can = canonicalize(text, buildCanonicalizeOptions(lexicon, undefined, undefined));
|
|
20
|
+
return alignTokensToSource(text, can, lex(can, lexicon));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 是否为该文档语言的关键字。无 lexicon(en 文档在服务端就是这样)时按 en-US 判定——
|
|
24
|
+
* 否则 en 下 `Return` / `Rule` 也能被重命名,重命名会改掉所有同名关键字。
|
|
25
|
+
*/
|
|
26
|
+
export function isKeywordFor(word, lexicon) {
|
|
27
|
+
return findSemanticTokenKind(lexicon ?? EN_US, word) !== undefined;
|
|
28
|
+
}
|
|
29
|
+
const isIdentToken = (t) => t?.kind === TokenKind.IDENT || t?.kind === TokenKind.TYPE_IDENT;
|
|
30
|
+
/** 位置是否确定可编辑:只有与原文逐字对齐的 token 才算(未对齐过的 token 视为确定) */
|
|
31
|
+
const isExact = (t) => t?.srcAlign === undefined || t.srcAlign === 'exact';
|
|
32
|
+
/**
|
|
33
|
+
* 光标处的**可编辑**标识符:必须是标识符 token、位置与原文逐字对齐、且不是关键字。
|
|
34
|
+
* ★重命名/引用只能基于它,不能退回字符级或正则取词——冠词(the / eine)不是 token,
|
|
35
|
+
* 退回字符级会取到 `the`,再退回全文正则就把每个 the 都改掉。
|
|
36
|
+
*/
|
|
37
|
+
export function identifierTokenAt(tokens, text, offset, lexicon) {
|
|
38
|
+
const starts = buildLineStarts(text);
|
|
39
|
+
for (const t of tokens) {
|
|
40
|
+
if (!isIdentToken(t) || !t.start || !t.end)
|
|
41
|
+
continue;
|
|
42
|
+
const s = toOffset(starts, t.start.line, t.start.col);
|
|
43
|
+
const e = toOffset(starts, t.end.line, t.end.col);
|
|
44
|
+
if (offset < s || offset > e)
|
|
45
|
+
continue;
|
|
46
|
+
const name = String(t.value);
|
|
47
|
+
if (!isExact(t) || isKeywordFor(name, lexicon))
|
|
48
|
+
return null;
|
|
49
|
+
return { name, start: s, end: e };
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 某名字在 token 流里的全部**确定**位置。uncertain=true 表示存在同名但位置非逐字对齐的 token
|
|
55
|
+
* (领域词汇翻译、推算位置)——此时重命名必须整体拒绝,不能只改一部分或改到推算的位置。
|
|
56
|
+
*/
|
|
57
|
+
export function exactIdentifierPositions(tokens, text, name) {
|
|
58
|
+
const starts = buildLineStarts(text);
|
|
59
|
+
const positions = [];
|
|
60
|
+
let uncertain = false;
|
|
61
|
+
for (const t of tokens) {
|
|
62
|
+
if (!isIdentToken(t) || !t.start || !t.end || String(t.value) !== name)
|
|
63
|
+
continue;
|
|
64
|
+
if (!isExact(t)) {
|
|
65
|
+
uncertain = true;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
positions.push({ start: toOffset(starts, t.start.line, t.start.col), end: toOffset(starts, t.end.line, t.end.col) });
|
|
69
|
+
}
|
|
70
|
+
return { positions, uncertain };
|
|
71
|
+
}
|
|
9
72
|
import { getSpan, getVariantSpans, getStatements, isAstFunc, isAstData, isAstEnum, isAstBlock, } from '../type-guards.js';
|
|
10
73
|
/**
|
|
11
74
|
* 转义字符串中的正则元字符,使其可安全嵌入 `new RegExp(...)`。
|
|
@@ -21,8 +84,20 @@ export function escapeRegExp(str) {
|
|
|
21
84
|
* @param offset 偏移量位置
|
|
22
85
|
* @returns 捕获的单词,如果不在单词位置则返回 null
|
|
23
86
|
*/
|
|
24
|
-
export function captureWordAt(text, offset) {
|
|
25
|
-
|
|
87
|
+
export function captureWordAt(text, offset, lexicon) {
|
|
88
|
+
// ★优先按词法规则取光标所在的标识符 token:标识符可以是任意 Unicode 字母(zh「加倍」、
|
|
89
|
+
// de「größe」),且 zh 关键字与标识符之间可以不留空格(「返回加倍(…)」),ASCII 正则
|
|
90
|
+
// 两种情况都处理不了——旧实现对「加倍」恒回 null,重命名框弹出却什么都不改。
|
|
91
|
+
// 关键字不是可重命名的符号,直接拒绝。
|
|
92
|
+
try {
|
|
93
|
+
const toks = lexInSourceCoordinates(text, lexicon);
|
|
94
|
+
// 词法成功时只认 token:光标不在可编辑标识符上(如冠词 the)就是 null,不退回字符级
|
|
95
|
+
return identifierTokenAt(toks, text, offset, lexicon)?.name ?? null;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// 词法失败(文本残缺)时退回字符级捕获
|
|
99
|
+
}
|
|
100
|
+
const isWord = (c) => /[\p{L}\p{N}_.]/u.test(c);
|
|
26
101
|
let s = offset;
|
|
27
102
|
while (s > 0 && isWord(text[s - 1]))
|
|
28
103
|
s--;
|
|
@@ -41,7 +116,8 @@ export function captureWordAt(text, offset) {
|
|
|
41
116
|
*/
|
|
42
117
|
export function findWordPositions(text, word) {
|
|
43
118
|
const out = [];
|
|
44
|
-
|
|
119
|
+
// 词边界按 Unicode 字母/数字判定(标识符可以是中文、带变音的德文等)
|
|
120
|
+
const re = new RegExp(`(?<![\\p{L}\\p{N}_.])${escapeRegExp(word)}(?![\\p{L}\\p{N}_.])`, 'gu');
|
|
45
121
|
for (let m; (m = re.exec(text));) {
|
|
46
122
|
out.push({ start: m.index, end: m.index + word.length });
|
|
47
123
|
}
|
|
@@ -53,13 +129,14 @@ export function findWordPositions(text, word) {
|
|
|
53
129
|
* @param word 要查找的标记或单词
|
|
54
130
|
* @returns 标记位置数组,如果词法分析失败则回退到正则匹配
|
|
55
131
|
*/
|
|
56
|
-
export function findTokenPositionsSafe(text, word) {
|
|
132
|
+
export function findTokenPositionsSafe(text, word, lexicon) {
|
|
57
133
|
// If word contains '.', fallback to simple word regex matching over text
|
|
58
134
|
if (word.includes('.'))
|
|
59
135
|
return findWordPositions(text, word);
|
|
60
136
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
137
|
+
// ★非英文文档必须带 lexicon 词法分析,否则 lexer 遇到中文关键字即抛,
|
|
138
|
+
// 静默退化成 ASCII 词边界正则(会命中字符串字面量里的同名文本)。
|
|
139
|
+
const toks = lexInSourceCoordinates(text, lexicon);
|
|
63
140
|
const starts = buildLineStarts(text);
|
|
64
141
|
const out = [];
|
|
65
142
|
for (const t of toks) {
|
|
@@ -121,11 +198,12 @@ export function offsetToPos(text, off) {
|
|
|
121
198
|
* @returns file:// URI 字符串
|
|
122
199
|
*/
|
|
123
200
|
export function ensureUri(u) {
|
|
124
|
-
|
|
201
|
+
// ★已带 scheme 的 URI(file:// 以及编辑器的 inmemory:// 等)原样返回。
|
|
202
|
+
// 旧实现在 ESM 里调 require(ReferenceError: require is not defined),
|
|
203
|
+
// 且会把 inmemory://x 拼成 file:///cwd/inmemory://x。
|
|
204
|
+
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(u))
|
|
125
205
|
return u;
|
|
126
|
-
|
|
127
|
-
const to = 'file://' + (path.isAbsolute(u) ? u : path.join(process.cwd(), u));
|
|
128
|
-
return to;
|
|
206
|
+
return 'file://' + (path.isAbsolute(u) ? u : path.join(process.cwd(), u));
|
|
129
207
|
}
|
|
130
208
|
/**
|
|
131
209
|
* URI 转文件系统路径
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,8 @@ import { registerDocumentSymbolHandler } from './navigation/document-symbol.js';
|
|
|
19
19
|
*/
|
|
20
20
|
export function registerNavigationHandlers(connection, documents, getOrParse, getDocumentSettings, getLexiconForDoc) {
|
|
21
21
|
// 注册各个处理器
|
|
22
|
-
registerReferencesHandler(connection, documents, getDocumentSettings);
|
|
23
|
-
registerRenameHandlers(connection, documents, getOrParse, getDocumentSettings);
|
|
22
|
+
registerReferencesHandler(connection, documents, getDocumentSettings, getLexiconForDoc, getOrParse);
|
|
23
|
+
registerRenameHandlers(connection, documents, getOrParse, getDocumentSettings, getLexiconForDoc);
|
|
24
24
|
registerHoverHandler(connection, documents, getOrParse, getLexiconForDoc);
|
|
25
25
|
registerDefinitionHandler(connection, documents, getOrParse);
|
|
26
26
|
registerDocumentSymbolHandler(connection, documents, getOrParse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/lsp/navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,SAA2E,EAC3E,UAAqF,EACrF,mBAAkD,EAClD,gBAA6F;IAE7F,UAAU;IACV,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/lsp/navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,SAA2E,EAC3E,UAAqF,EACrF,mBAAkD,EAClD,gBAA6F;IAE7F,UAAU;IACV,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACpG,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACjG,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1E,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Module as AstModule } from '../types.js';
|
|
2
|
+
import type { Diagnostic } from '../diagnostics/diagnostics.js';
|
|
3
|
+
import type { Lexicon } from '../config/lexicons/types.js';
|
|
4
|
+
export interface ParsedDocument {
|
|
5
|
+
readonly can: string;
|
|
6
|
+
readonly tokens: readonly any[];
|
|
7
|
+
readonly ast: AstModule | null;
|
|
8
|
+
readonly parseDiagnostics: readonly Diagnostic[];
|
|
9
|
+
}
|
|
10
|
+
export declare function parseDocumentText(text: string, lexicon: Lexicon | undefined, tenantId: string | undefined, domain: string | undefined): ParsedDocument;
|
|
11
|
+
//# sourceMappingURL=parse-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAK3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;CAClD;AAkBD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,cAAc,CAiBhB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 文档解析(无副作用,便于直接测试)。
|
|
3
|
+
*
|
|
4
|
+
* ★非英文文档必须把 lexicon 一路传给 canonicalize **和 lex**:canonicalize 只做
|
|
5
|
+
* 标点/空白归一(「。」→「.」),关键字仍是原文;无 lexicon 的 lexer 见到「模」
|
|
6
|
+
* 就抛 "Unexpected character"。曾因 getOrParse 写成 `lex(can)`,zh/de 文档的
|
|
7
|
+
* hover、跳转、文档符号全部失败(诊断路径吞掉异常,表现为「无问题」)。
|
|
8
|
+
* 浏览器侧编译(browser.ts)与 formatter 一直是 `lex(canonical, lexicon)`,此处对齐。
|
|
9
|
+
*
|
|
10
|
+
* 返回的 tokens 与 ast 的位置均为**原文**坐标(`can` 仅供需要规范化文本的调用方)。
|
|
11
|
+
*/
|
|
12
|
+
import { canonicalize } from '../frontend/canonicalizer.js';
|
|
13
|
+
import { lex } from '../frontend/lexer.js';
|
|
14
|
+
import { parse, parseWithLexicon } from '../parser.js';
|
|
15
|
+
import { needsKeywordTranslation } from '../frontend/keyword-translator.js';
|
|
16
|
+
import { buildCanonicalizeOptions } from './canonicalize-options.js';
|
|
17
|
+
import { alignTokensToSource } from './source-positions.js';
|
|
18
|
+
import { vocabularyRegistry, initBuiltinVocabularies } from '../config/lexicons/identifiers/registry.js';
|
|
19
|
+
/**
|
|
20
|
+
* 领域词汇的「规范名 → 本地化写法」查找:canonicalize 用同一份词汇把本地化词替换成规范名,
|
|
21
|
+
* 对齐时据此在原文里找回本地化写法(否则该 token 及其后同一行的位置全部推算错位)。
|
|
22
|
+
*/
|
|
23
|
+
function localizedLookup(lexicon, tenantId, domain) {
|
|
24
|
+
if (!lexicon || !tenantId || !domain)
|
|
25
|
+
return undefined;
|
|
26
|
+
initBuiltinVocabularies();
|
|
27
|
+
const index = vocabularyRegistry.getWithCustom(tenantId, domain, lexicon.id)?.index;
|
|
28
|
+
if (!index)
|
|
29
|
+
return undefined;
|
|
30
|
+
return (canonical) => index.toLocalized.get(canonical) ?? index.toLocalized.get(canonical.toLowerCase());
|
|
31
|
+
}
|
|
32
|
+
export function parseDocumentText(text, lexicon, tenantId, domain) {
|
|
33
|
+
const can = canonicalize(text, buildCanonicalizeOptions(lexicon, tenantId, domain));
|
|
34
|
+
// ★token 位置改为原文坐标后再解析:AST span 由 token 派生,于是高亮/跳转/hover/重命名/
|
|
35
|
+
// 诊断的位置都对应原文(canonicalize 删冠词等会改变行内长度,见 source-positions.ts)。
|
|
36
|
+
const tokens = alignTokensToSource(text, can, lex(can, lexicon), { localizedOf: localizedLookup(lexicon, tenantId, domain) });
|
|
37
|
+
let ast;
|
|
38
|
+
let parseDiagnostics = [];
|
|
39
|
+
try {
|
|
40
|
+
const result = lexicon && needsKeywordTranslation(lexicon)
|
|
41
|
+
? parseWithLexicon(tokens, lexicon)
|
|
42
|
+
: parse(tokens, lexicon);
|
|
43
|
+
ast = result.ast;
|
|
44
|
+
parseDiagnostics = result.diagnostics;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
ast = null;
|
|
48
|
+
}
|
|
49
|
+
return { can, tokens, ast, parseDiagnostics };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=parse-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAI5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AASzG;;;GAGG;AACH,SAAS,eAAe,CACtB,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACvD,uBAAuB,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACpF,6DAA6D;IAC7D,gEAAgE;IAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9H,IAAI,GAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAgB,CAAC;QAC9B,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAChD,CAAC"}
|
package/dist/src/lsp/server.js
CHANGED
|
@@ -3,12 +3,9 @@
|
|
|
3
3
|
import { createConnection, TextDocuments, ProposedFeatures, DidChangeConfigurationNotification, DidChangeWatchedFilesNotification, TextDocumentSyncKind, CodeActionKind, } from 'vscode-languageserver/node.js';
|
|
4
4
|
import { performance } from 'node:perf_hooks';
|
|
5
5
|
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
6
|
-
import { canonicalize } from '../frontend/canonicalizer.js';
|
|
7
|
-
import { lex } from '../frontend/lexer.js';
|
|
8
|
-
import { parse, parseWithLexicon } from '../parser.js';
|
|
9
|
-
import { needsKeywordTranslation } from '../frontend/keyword-translator.js';
|
|
10
6
|
import { LexiconRegistry, initializeAllBundledLexicons } from '../config/lexicons/index.js';
|
|
11
|
-
import {
|
|
7
|
+
import { parseDocumentText } from './parse-document.js';
|
|
8
|
+
import { resolvePushedSettings } from './settings.js';
|
|
12
9
|
import { resolveTenantContext } from './tenant-init.js';
|
|
13
10
|
import { attachDiagnosticMessages } from '../config/lexicons/diagnostic-messages.js';
|
|
14
11
|
import { buildIdIndex, exprTypeText } from './utils.js';
|
|
@@ -68,20 +65,8 @@ function getOrParse(doc) {
|
|
|
68
65
|
return prev;
|
|
69
66
|
const text = doc.getText();
|
|
70
67
|
const lexicon = getLexiconForDoc(doc.uri);
|
|
71
|
-
|
|
72
|
-
const tokens =
|
|
73
|
-
let ast;
|
|
74
|
-
let parseDiagnostics = [];
|
|
75
|
-
try {
|
|
76
|
-
const result = lexicon && needsKeywordTranslation(lexicon)
|
|
77
|
-
? parseWithLexicon(tokens, lexicon)
|
|
78
|
-
: parse(tokens, lexicon);
|
|
79
|
-
ast = result.ast;
|
|
80
|
-
parseDiagnostics = result.diagnostics;
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
ast = null;
|
|
84
|
-
}
|
|
68
|
+
// 解析逻辑抽到 parse-document.ts(可测):lexicon 必须同时传给 canonicalize 与 lex。
|
|
69
|
+
const { can, tokens, ast, parseDiagnostics } = parseDocumentText(text, lexicon, currentTenantId, currentDomain);
|
|
85
70
|
const entry = { version: doc.version, text, can, tokens, ast, parseDiagnostics };
|
|
86
71
|
// Build simple identifier index for performance (by token value)
|
|
87
72
|
entry.idIndex = buildIdIndex(tokens);
|
|
@@ -146,6 +131,13 @@ connection.onInitialize(async (params) => {
|
|
|
146
131
|
interFileDependencies: false,
|
|
147
132
|
workspaceDiagnostics: true,
|
|
148
133
|
},
|
|
134
|
+
/* ★能力探测标志:客户端据此决定注册哪些功能,而不是猜服务端版本。
|
|
135
|
+
* localizedParsing —— 非英文文档的 hover/跳转/符号等按 lexicon 解析(旧版恒抛错)
|
|
136
|
+
* openDocumentNavigation —— 引用/重命名读打开中的内存文本(旧版对 inmemory 文档恒空)
|
|
137
|
+
* 旧版服务端不带这些标志,客户端应只对 en-US 注册基于解析的功能,且不注册引用/重命名。 */
|
|
138
|
+
experimental: {
|
|
139
|
+
aster: { localizedParsing: true, openDocumentNavigation: true },
|
|
140
|
+
},
|
|
149
141
|
codeActionProvider: {
|
|
150
142
|
codeActionKinds: [CodeActionKind.QuickFix],
|
|
151
143
|
},
|
|
@@ -305,8 +297,10 @@ connection.onInitialized(() => {
|
|
|
305
297
|
// Register tokens handlers (semantic tokens, inlay hints, document highlight)
|
|
306
298
|
registerTokensHandlers(connection, documents, getOrParse, typeText, exprTypeText, tokenNameAt, collectLetsWithSpan);
|
|
307
299
|
});
|
|
300
|
+
// The example settings
|
|
301
|
+
// 设置默认值与合并规则见 settings.ts(可测)。
|
|
308
302
|
// The global settings, used when the `workspace/configuration` request is not supported by the client.
|
|
309
|
-
const defaultSettings =
|
|
303
|
+
const defaultSettings = resolvePushedSettings(undefined);
|
|
310
304
|
let globalSettings = defaultSettings;
|
|
311
305
|
// Cache the settings of all open documents
|
|
312
306
|
const documentSettings = new Map();
|
|
@@ -316,7 +310,8 @@ connection.onDidChangeConfiguration(change => {
|
|
|
316
310
|
documentSettings.clear();
|
|
317
311
|
}
|
|
318
312
|
else {
|
|
319
|
-
|
|
313
|
+
// ★合并而非整体替换:客户端只推 locale 时其余默认值必须保留
|
|
314
|
+
globalSettings = resolvePushedSettings(change.settings?.asterLanguageServer);
|
|
320
315
|
}
|
|
321
316
|
// 更新 diagnostics/index/locale 设置;缓存失效必须在更新 locale 后执行,
|
|
322
317
|
// 否则任何后续的 getOrParse 都会再次塞入旧 lexicon 解析结果。
|
|
@@ -453,7 +448,7 @@ documents.onDidChangeContent(change => {
|
|
|
453
448
|
}
|
|
454
449
|
// Update index for open document
|
|
455
450
|
try {
|
|
456
|
-
void updateDocumentIndex(change.document.uri, change.document.getText()).catch(() => { });
|
|
451
|
+
void updateDocumentIndex(change.document.uri, change.document.getText(), getLexiconForDoc(change.document.uri)).catch(() => { });
|
|
457
452
|
}
|
|
458
453
|
catch {
|
|
459
454
|
// ignore
|
|
@@ -461,7 +456,7 @@ documents.onDidChangeContent(change => {
|
|
|
461
456
|
});
|
|
462
457
|
documents.onDidSave(e => {
|
|
463
458
|
try {
|
|
464
|
-
void updateDocumentIndex(e.document.uri, e.document.getText()).catch(() => { });
|
|
459
|
+
void updateDocumentIndex(e.document.uri, e.document.getText(), getLexiconForDoc(e.document.uri)).catch(() => { });
|
|
465
460
|
}
|
|
466
461
|
catch {
|
|
467
462
|
// ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":";AAEA,4CAA4C;AAE5C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEhB,kCAAkC,EAClC,iCAAiC,EACjC,oBAAoB,EAEpB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAOlE,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,kDAAkD;AAElD,uEAAuE;AACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,UAAU,CAAC,SAAS,GAAG;IACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;CAC1C,CAAC;AAaF,MAAM,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAC;AACnD,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC;AAC1C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAClC,MAAM,gBAAgB,GAAa,EAAE,CAAC;AAEtC,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEpD,6CAA6C;AAC7C,IAAI,cAAmC,CAAC;AAExC;6CAC6C;AAC7C,IAAI,eAAmC,CAAC;AACxC,IAAI,aAAiC,CAAC;AAEtC,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,kEAAkE;IAClE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAChH,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;IAC5F,iEAAiE;IACjE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AACtD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAwB,EAAE,EAAE;IACzD,mEAAmE;IACnE,4BAA4B,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,0BAA0B,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClG,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC5C,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY,CAAC,kBAAkB;QAC5C,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,CAAC;IACF,yBAAyB,GAAG,CAAC,CAAC,CAC5B,YAAY,CAAC,SAAS;QACrB,YAAY,CAAC,SAAiB,CAAC,qBAAqB;QACpD,YAAY,CAAC,SAAiB,CAAC,qBAAqB,CAAC,mBAAmB,CAC1E,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAChD,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,8CAA8C;IAC9C,mBAAmB,CAAC;QAClB,2BAA2B,EAAE,yCAAyC;QACtE,2BAA2B,EAAE,IAAI;QACjC,sBAAsB,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,gBAAgB;KACrE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACnC;YACD,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,IAAI;aAC3B;YACD;;;kEAGsD;YACtD,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE;aAChE;YACD,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC3C;YACD,aAAa,EAAE,IAAI;YACnB,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aAChC;YACD,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB,EAAE;gBACtB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACX;YACD,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,IAAI;YAChC,+BAA+B,EAAE,IAAI;YACrC,iBAAiB,EAAE,IAAI;YACvB,0BAA0B;YAC1B,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YACzC,oBAAoB,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;SACjD;KACF,CAAC;IACF,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,GAAqC,EAAE,CAAC;QAE5D,oDAAoD;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAuB,CAAC;QAEnG,wDAAwD;QACxD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,cAAc,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAClG,sBAAsB,GAAG,IAAI,CAAC;QAC9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS;IAClC,UAAU;IACV,kBAAkB,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,EAAE,OAAO;QAC3B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,0BAA0B,EAAE,CAAC;QAC/B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QACjC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE;YACpD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAClE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAyD;IACzD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC;YACzB,4BAA4B;YAC5B,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,IAAI,CACrB,gFAAgF,CACjF,CAAC;QACF,iBAAiB;QACjB,oBAAoB,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,EAAE,UAAU;SAClC,CAAC,CAAC;QACH,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,CAAC,KAAK,IAAmB,EAAE;YAC/C,IAAI,CAAC;gBACH,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAE7F,kDAAkD;gBAClD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;gBAChC,MAAM,2BAA2B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBACvD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,sBAAsB,CAAC,UAAU,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEjI,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAErG,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAEvE,gCAAgC;IAChC,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE7F,4BAA4B;IAC5B,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEtF,8EAA8E;IAC9E,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,+BAA+B;AAC/B,uGAAuG;AACvG,MAAM,eAAe,GAAkB,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACxE,IAAI,cAAc,GAAkB,eAAe,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,gBAAgB,GAAwC,IAAI,GAAG,EAAE,CAAC;AAExE,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAC3C,IAAI,0BAA0B,EAAE,CAAC;QAC/B,qCAAqC;QACrC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IAED,uDAAuD;IACvD,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/B,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI;SAC9D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;QAChD,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,cAAc,CAAC;YACb,cAAc;YACd,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,cAAc,CAAC;QAExC,wBAAwB;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QACnC,MAAM,aAAa,GAAG,cAAc,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,cAAc,GAAG,SAAS,CAAC;YAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QACD,6CAA6C;QAC7C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,cAAc,EAAE,EAAE,CAAC;QACxC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,sDAAsD;YACtD,8BAA8B;YAC9B,yCAAyC,EAAE,CAAC;YAC5C,sDAAsD;YACtD,iDAAiD;YACjD,uCAAuC;YACvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,gCAAgC;QAChC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC;gBAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC7B,yDAAyD;YACzD,+CAA+C;YAC/C,OAAO,GAAG,EAAE,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QACzI,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,IAAI;SAClC,CAAC,CAAC;QACH,cAAc,CAAC;YACb,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC7C,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wCAAwC;AACxC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,kCAAkC;IAClC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,sDAAsD;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBAAC,MAAM,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC9C,OAAO,GAAG,EAAE,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QAC/J,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,uEAAuE;AACvE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IAChC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;QAC5C,+CAA+C;QAC/C,IAAI,CAAC;YAAC,KAAK,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAC5I,qFAAqF;QACrF,IAAI,CAAC;YAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IACH,+CAA+C;IAC/C,IAAI,CAAC;QACH,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,kDAAkD;IAClD,IAAI,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,iCAAiC;IACjC,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClI,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IACtB,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAChE,qFAAqF;AACrF,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,sEAAsE;AAEtE,gGAAgG;AAChG,+FAA+F;AAE/F,2CAA2C;AAE3C,+GAA+G;AAE/G,mDAAmD;AAEnD,2CAA2C;AAG3C,kDAAkD;AAElD,sHAAsH;AAEtH,sHAAsH;AAEtH,gEAAgE;AAChE,+FAA+F;AAC/F,mHAAmH;AAEnH,kDAAkD;AAClD,qEAAqE;AAErE,0DAA0D;AAC1D,kDAAkD;AAClD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;IACrB,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,gBAAgB,IAAI,CAAC,sBAAsB;QAAE,OAAO;IACzD,KAAK,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,UAAU,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 服务端设置:默认值与客户端推送的合并(纯函数,便于测试)。
|
|
3
|
+
*
|
|
4
|
+
* ★客户端未声明 workspace.configuration 时,服务端只从 didChangeConfiguration
|
|
5
|
+
* 推送的 settings 取值。旧实现整体替换(`pushed || defaults`):客户端只推
|
|
6
|
+
* `{ locale }` 就会把其余默认值全部丢掉(如 format.reflow 从 true 变成 undefined)。
|
|
7
|
+
* 这里按顶层字段合并,嵌套对象逐项覆盖。
|
|
8
|
+
*/
|
|
9
|
+
export interface AsterSettings {
|
|
10
|
+
maxNumberOfProblems: number;
|
|
11
|
+
format?: {
|
|
12
|
+
mode?: 'lossless' | 'normalize';
|
|
13
|
+
reflow?: boolean;
|
|
14
|
+
};
|
|
15
|
+
index?: {
|
|
16
|
+
persist?: boolean;
|
|
17
|
+
path?: string;
|
|
18
|
+
};
|
|
19
|
+
rename?: {
|
|
20
|
+
scope?: 'open' | 'workspace';
|
|
21
|
+
};
|
|
22
|
+
diagnostics?: {
|
|
23
|
+
workspace?: boolean;
|
|
24
|
+
};
|
|
25
|
+
streaming?: {
|
|
26
|
+
referencesChunk?: number;
|
|
27
|
+
renameChunk?: number;
|
|
28
|
+
logChunks?: boolean;
|
|
29
|
+
};
|
|
30
|
+
locale?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const DEFAULT_SETTINGS: Readonly<AsterSettings>;
|
|
33
|
+
/** 把客户端推送的(可能不完整的)设置合并到默认值上 */
|
|
34
|
+
export declare function resolvePushedSettings(pushed: unknown): AsterSettings;
|
|
35
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/lsp/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/D,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAA2B,CAAC;AAIjF,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CASpE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 服务端设置:默认值与客户端推送的合并(纯函数,便于测试)。
|
|
3
|
+
*
|
|
4
|
+
* ★客户端未声明 workspace.configuration 时,服务端只从 didChangeConfiguration
|
|
5
|
+
* 推送的 settings 取值。旧实现整体替换(`pushed || defaults`):客户端只推
|
|
6
|
+
* `{ locale }` 就会把其余默认值全部丢掉(如 format.reflow 从 true 变成 undefined)。
|
|
7
|
+
* 这里按顶层字段合并,嵌套对象逐项覆盖。
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULTS = {
|
|
10
|
+
maxNumberOfProblems: 1000,
|
|
11
|
+
format: { mode: 'lossless', reflow: true },
|
|
12
|
+
index: { persist: true },
|
|
13
|
+
rename: { scope: 'workspace' },
|
|
14
|
+
diagnostics: { workspace: true },
|
|
15
|
+
streaming: { referencesChunk: 200, renameChunk: 200, logChunks: false },
|
|
16
|
+
};
|
|
17
|
+
export const DEFAULT_SETTINGS = Object.freeze(DEFAULTS);
|
|
18
|
+
const NESTED_KEYS = ['format', 'index', 'rename', 'diagnostics', 'streaming'];
|
|
19
|
+
/** 把客户端推送的(可能不完整的)设置合并到默认值上 */
|
|
20
|
+
export function resolvePushedSettings(pushed) {
|
|
21
|
+
const p = (pushed && typeof pushed === 'object' ? pushed : {});
|
|
22
|
+
const merged = { ...DEFAULT_SETTINGS, ...p };
|
|
23
|
+
for (const key of NESTED_KEYS) {
|
|
24
|
+
const base = DEFAULT_SETTINGS[key];
|
|
25
|
+
const over = p[key];
|
|
26
|
+
if (base || over)
|
|
27
|
+
merged[key] = { ...base, ...over };
|
|
28
|
+
}
|
|
29
|
+
return merged;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=settings.js.map
|