@mirascript/monaco 0.1.14 → 0.1.16
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/tokens-provider.d.ts.map +1 -1
- package/dist/{chunk-2WJX66QO.js → chunk-B7ONXYAM.js} +13 -10
- package/dist/chunk-B7ONXYAM.js.map +6 -0
- package/dist/constants.d.ts +1 -6
- package/dist/constants.d.ts.map +1 -1
- package/dist/lsp/diagnostics.d.ts +1 -1
- package/dist/lsp/diagnostics.d.ts.map +1 -1
- package/dist/lsp/index.js +140 -82
- package/dist/lsp/index.js.map +2 -2
- package/dist/lsp/providers/base.d.ts +7 -3
- package/dist/lsp/providers/base.d.ts.map +1 -1
- package/dist/lsp/providers/definition-reference-provider.d.ts.map +1 -1
- package/dist/lsp/providers/semantic-tokens-provider.d.ts.map +1 -1
- package/dist/lsp/utils.d.ts +2 -1
- package/dist/lsp/utils.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/basic/tokens-provider.ts +11 -3
- package/src/constants.ts +1 -7
- package/src/lsp/diagnostics.ts +64 -21
- package/src/lsp/providers/base.ts +70 -45
- package/src/lsp/providers/completion-item-provider.ts +2 -2
- package/src/lsp/providers/definition-reference-provider.ts +1 -2
- package/src/lsp/providers/hover-provider.ts +3 -3
- package/src/lsp/providers/semantic-tokens-provider.ts +8 -5
- package/src/lsp/providers/signature-help-provider.ts +1 -1
- package/src/lsp/utils.ts +4 -2
- package/dist/chunk-2WJX66QO.js.map +0 -6
package/dist/basic/index.js
CHANGED
|
@@ -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;
|
|
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;AAoa/D,qCAAqC;AACrC,wBAAgB,gCAAgC,IAAI,WAAW,EAAE,CAMhE"}
|
|
@@ -30,12 +30,7 @@ var reservedKeywords = () => {
|
|
|
30
30
|
reservedKeywords = () => kw;
|
|
31
31
|
return kw;
|
|
32
32
|
};
|
|
33
|
-
var { REG_IDENTIFIER, REG_ORDINAL } = constants;
|
|
34
|
-
var REG_WHITESPACE = /[ \t\v\f\r\n]/u;
|
|
35
|
-
var REG_HEX = /0[xX][a-fA-F0-9_]*[a-fA-F0-9]/;
|
|
36
|
-
var REG_OCT = /0[oO][0-7_]*[0-7]/;
|
|
37
|
-
var REG_BIN = /0[bB][01_]*[01]/;
|
|
38
|
-
var REG_NUMBER = /\d[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?[\d_]*\d)?/u;
|
|
33
|
+
var { REG_IDENTIFIER, REG_ORDINAL, REG_WHITESPACE, REG_BIN, REG_HEX, REG_OCT, REG_NUMBER } = constants;
|
|
39
34
|
var MAX_VERBATIM_LENGTH = 16;
|
|
40
35
|
|
|
41
36
|
// src/basic/language-configuration.ts
|
|
@@ -213,9 +208,17 @@ function getTokensProvider(mode) {
|
|
|
213
208
|
{ include: "@whitespace" },
|
|
214
209
|
{ include: "@string" },
|
|
215
210
|
[/(@identifier)/, { cases: identifierCases() }],
|
|
216
|
-
[
|
|
217
|
-
|
|
218
|
-
|
|
211
|
+
[
|
|
212
|
+
/0[xobXOB]\p{XID_Continue}*/u,
|
|
213
|
+
{
|
|
214
|
+
cases: {
|
|
215
|
+
[REG_OCT.source]: "number.octal",
|
|
216
|
+
[REG_BIN.source]: "number.binary",
|
|
217
|
+
[REG_HEX.source]: "number.hex",
|
|
218
|
+
"@default": "number.invalid"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
],
|
|
219
222
|
[
|
|
220
223
|
REG_NUMBER,
|
|
221
224
|
{
|
|
@@ -523,4 +526,4 @@ export {
|
|
|
523
526
|
configuration,
|
|
524
527
|
registerBasic
|
|
525
528
|
};
|
|
526
|
-
//# sourceMappingURL=chunk-
|
|
529
|
+
//# sourceMappingURL=chunk-B7ONXYAM.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
|
+
}
|
package/dist/constants.d.ts
CHANGED
|
@@ -8,12 +8,7 @@ export declare let numericKeywords: () => readonly string[];
|
|
|
8
8
|
export declare let constantKeywords: () => readonly string[];
|
|
9
9
|
/** MiraScript 保留字关键字 */
|
|
10
10
|
export declare let reservedKeywords: () => readonly string[];
|
|
11
|
-
export declare const REG_IDENTIFIER: RegExp, REG_ORDINAL: RegExp;
|
|
12
|
-
export declare const REG_WHITESPACE: RegExp;
|
|
13
|
-
export declare const REG_HEX: RegExp;
|
|
14
|
-
export declare const REG_OCT: RegExp;
|
|
15
|
-
export declare const REG_BIN: RegExp;
|
|
16
|
-
export declare const REG_NUMBER: RegExp;
|
|
11
|
+
export declare const REG_IDENTIFIER: RegExp, REG_ORDINAL: RegExp, REG_WHITESPACE: RegExp, REG_BIN: RegExp, REG_HEX: RegExp, REG_OCT: RegExp, REG_NUMBER: RegExp;
|
|
17
12
|
/** 基础语言服务支持的最大插值字符串 `$` 数量 */
|
|
18
13
|
export declare const MAX_VERBATIM_LENGTH = 16;
|
|
19
14
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAIpB,wBAAwB;AACxB,eAAO,IAAI,eAAe,QAAO,SAAS,MAAM,EAK/C,CAAC;AAEF,0BAA0B;AAC1B,eAAO,IAAI,eAAe,QAAO,SAAS,MAAM,EAK/C,CAAC;AAEF,wBAAwB;AACxB,eAAO,IAAI,gBAAgB,QAAO,SAAS,MAAM,EAKhD,CAAC;AAEF,wBAAwB;AACxB,eAAO,IAAI,gBAAgB,QAAO,SAAS,MAAM,EAKhD,CAAC;AAEF,eAAO,MAAQ,cAAc,UAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAIpB,wBAAwB;AACxB,eAAO,IAAI,eAAe,QAAO,SAAS,MAAM,EAK/C,CAAC;AAEF,0BAA0B;AAC1B,eAAO,IAAI,eAAe,QAAO,SAAS,MAAM,EAK/C,CAAC;AAEF,wBAAwB;AACxB,eAAO,IAAI,gBAAgB,QAAO,SAAS,MAAM,EAKhD,CAAC;AAEF,wBAAwB;AACxB,eAAO,IAAI,gBAAgB,QAAO,SAAS,MAAM,EAKhD,CAAC;AAEF,eAAO,MAAQ,cAAc,UAAE,WAAW,UAAE,cAAc,UAAE,OAAO,UAAE,OAAO,UAAE,OAAO,UAAE,UAAU,QAAc,CAAC;AAEhH,8BAA8B;AAC9B,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { editor } from '../monaco-api.js';
|
|
2
2
|
import type { CompileResult } from './compile-result.js';
|
|
3
3
|
/** 设置标记 */
|
|
4
|
-
export declare function setMarkers(model: editor.ITextModel, result: CompileResult): void
|
|
4
|
+
export declare function setMarkers(model: editor.ITextModel, result: CompileResult): Promise<void>;
|
|
5
5
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lsp/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lsp/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA+C,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAyF3E,WAAW;AACX,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/F"}
|
package/dist/lsp/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
REG_ORDINAL,
|
|
4
4
|
keywords,
|
|
5
5
|
reservedKeywords
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-B7ONXYAM.js";
|
|
7
7
|
import {
|
|
8
8
|
Emitter,
|
|
9
9
|
MarkerSeverity,
|
|
@@ -297,8 +297,9 @@ function valueDoc(name, value, type) {
|
|
|
297
297
|
}
|
|
298
298
|
return { script: `${prefix}${valueStr}${suffix}`, doc: [] };
|
|
299
299
|
}
|
|
300
|
-
function getDeep(
|
|
301
|
-
|
|
300
|
+
function getDeep(globals, name, path) {
|
|
301
|
+
if (!globals.has(name)) return void 0;
|
|
302
|
+
let current = globals.get(name);
|
|
302
303
|
for (const key of path) {
|
|
303
304
|
if (current == null) return current;
|
|
304
305
|
if (!operations.$Has(current, key)) return void 0;
|
|
@@ -671,18 +672,22 @@ var CompileResult = class {
|
|
|
671
672
|
|
|
672
673
|
// src/lsp/diagnostics.ts
|
|
673
674
|
import { DiagnosticCode as DiagnosticCode3, getDiagnosticMessage } from "@mirascript/mirascript/subtle";
|
|
674
|
-
var
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
const deprecated = false;
|
|
679
|
-
if (code === DiagnosticCode3.UnusedLocalVariable || code === DiagnosticCode3.UnusedLocalFunction) {
|
|
680
|
-
unnecessary = true;
|
|
681
|
-
severity = MarkerSeverity.Hint;
|
|
675
|
+
var formatMessage = (model, template, $0) => {
|
|
676
|
+
if (template.includes(`$0`)) {
|
|
677
|
+
const replacement = typeof $0 == "string" ? $0 : $0 ? model.getValueInRange($0) : "";
|
|
678
|
+
template = template.replaceAll(`$0`, replacement);
|
|
682
679
|
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
680
|
+
return template;
|
|
681
|
+
};
|
|
682
|
+
var makeMarkerData = (model, range, code, message, severity) => {
|
|
683
|
+
const { startLineNumber, startColumn, endLineNumber, endColumn } = range;
|
|
684
|
+
if (!message) {
|
|
685
|
+
if (typeof code != "number") {
|
|
686
|
+
message = "";
|
|
687
|
+
} else {
|
|
688
|
+
const template = getDiagnosticMessage(code);
|
|
689
|
+
message = template ? formatMessage(model, template, range) : "Unknown diagnostic";
|
|
690
|
+
}
|
|
686
691
|
}
|
|
687
692
|
const marker = {
|
|
688
693
|
startLineNumber,
|
|
@@ -691,10 +696,10 @@ var makeMarker = (model, modelVersionId, diagnostic, severity) => {
|
|
|
691
696
|
endColumn,
|
|
692
697
|
message,
|
|
693
698
|
severity,
|
|
694
|
-
modelVersionId,
|
|
699
|
+
modelVersionId: model.getVersionId(),
|
|
695
700
|
source: "MiraScript"
|
|
696
701
|
};
|
|
697
|
-
const codeName = DiagnosticCode3[code];
|
|
702
|
+
const codeName = typeof code == "number" ? DiagnosticCode3[code] : void 0;
|
|
698
703
|
if (codeName) {
|
|
699
704
|
marker.code = {
|
|
700
705
|
value: codeName,
|
|
@@ -703,6 +708,17 @@ var makeMarker = (model, modelVersionId, diagnostic, severity) => {
|
|
|
703
708
|
} else {
|
|
704
709
|
marker.code = `${code}`;
|
|
705
710
|
}
|
|
711
|
+
return marker;
|
|
712
|
+
};
|
|
713
|
+
var makeMarker = (model, diagnostic, severity) => {
|
|
714
|
+
const { range, code } = diagnostic;
|
|
715
|
+
let unnecessary = false;
|
|
716
|
+
const deprecated = false;
|
|
717
|
+
if (code === DiagnosticCode3.UnusedLocalVariable || code === DiagnosticCode3.UnusedLocalFunction) {
|
|
718
|
+
unnecessary = true;
|
|
719
|
+
severity = MarkerSeverity.Hint;
|
|
720
|
+
}
|
|
721
|
+
const marker = makeMarkerData(model, range, code, void 0, severity);
|
|
706
722
|
if (unnecessary) {
|
|
707
723
|
marker.tags ??= [];
|
|
708
724
|
marker.tags.push(MarkerTag.Unnecessary);
|
|
@@ -715,30 +731,50 @@ var makeMarker = (model, modelVersionId, diagnostic, severity) => {
|
|
|
715
731
|
marker.relatedInformation = [];
|
|
716
732
|
for (const ref of diagnostic.references) {
|
|
717
733
|
const { range: range2, code: code2 } = ref;
|
|
718
|
-
const { startLineNumber
|
|
719
|
-
const
|
|
734
|
+
const { startLineNumber, startColumn, endLineNumber, endColumn } = range2;
|
|
735
|
+
const message = getDiagnosticMessage(code2) ?? "...here";
|
|
720
736
|
marker.relatedInformation.push({
|
|
721
|
-
message
|
|
737
|
+
message,
|
|
722
738
|
resource: model.uri,
|
|
723
|
-
startLineNumber
|
|
724
|
-
startColumn
|
|
725
|
-
endLineNumber
|
|
726
|
-
endColumn
|
|
739
|
+
startLineNumber,
|
|
740
|
+
startColumn,
|
|
741
|
+
endLineNumber,
|
|
742
|
+
endColumn
|
|
727
743
|
});
|
|
728
744
|
}
|
|
729
745
|
}
|
|
730
746
|
return marker;
|
|
731
747
|
};
|
|
732
|
-
function setMarkers(model, result) {
|
|
748
|
+
async function setMarkers(model, result) {
|
|
733
749
|
const setModelMarkers = editor?.setModelMarkers;
|
|
734
750
|
if (typeof setModelMarkers != "function") return;
|
|
735
751
|
const { version } = result;
|
|
736
752
|
if (version !== model.getVersionId()) return;
|
|
737
|
-
const errors = result.errors.map((d) => makeMarker(model,
|
|
738
|
-
const warnings = result.warnings.map((d) => makeMarker(model,
|
|
739
|
-
const infos = result.infos.map((d) => makeMarker(model,
|
|
740
|
-
const hints = result.hints.map((d) => makeMarker(model,
|
|
753
|
+
const errors = result.errors.map((d) => makeMarker(model, d, MarkerSeverity.Error));
|
|
754
|
+
const warnings = result.warnings.map((d) => makeMarker(model, d, MarkerSeverity.Warning));
|
|
755
|
+
const infos = result.infos.map((d) => makeMarker(model, d, MarkerSeverity.Info));
|
|
756
|
+
const hints = result.hints.map((d) => makeMarker(model, d, MarkerSeverity.Hint));
|
|
741
757
|
const markers = [...errors, ...warnings, ...infos, ...hints];
|
|
758
|
+
const { globals } = result.groupedTags(model);
|
|
759
|
+
if (globals.length) {
|
|
760
|
+
const context = await getContext(model);
|
|
761
|
+
for (const g of globals) {
|
|
762
|
+
const { name } = g;
|
|
763
|
+
if (context.has(name)) continue;
|
|
764
|
+
const template = getDiagnosticMessage(DiagnosticCode3.GlobalVariableNotDeclared);
|
|
765
|
+
if (!template) continue;
|
|
766
|
+
const message = formatMessage(model, template, name);
|
|
767
|
+
markers.push(
|
|
768
|
+
makeMarkerData(
|
|
769
|
+
model,
|
|
770
|
+
g.references[0].range,
|
|
771
|
+
DiagnosticCode3.GlobalVariableNotDeclared,
|
|
772
|
+
message,
|
|
773
|
+
MarkerSeverity.Warning
|
|
774
|
+
)
|
|
775
|
+
);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
742
778
|
setModelMarkers(model, "mirascript", markers);
|
|
743
779
|
}
|
|
744
780
|
|
|
@@ -855,6 +891,9 @@ var DEFAULT_MONACO_CONTEXT = Object.freeze({
|
|
|
855
891
|
get(key) {
|
|
856
892
|
return DefaultVmContext.get(key);
|
|
857
893
|
},
|
|
894
|
+
getOrUndefined(key) {
|
|
895
|
+
return DefaultVmContext.has(key) ? DefaultVmContext.get(key) : void 0;
|
|
896
|
+
},
|
|
858
897
|
has(key) {
|
|
859
898
|
return DefaultVmContext.has(key);
|
|
860
899
|
},
|
|
@@ -865,58 +904,75 @@ var DEFAULT_MONACO_CONTEXT = Object.freeze({
|
|
|
865
904
|
return void 0;
|
|
866
905
|
}
|
|
867
906
|
});
|
|
907
|
+
async function getContextImpl(model, clearCache) {
|
|
908
|
+
try {
|
|
909
|
+
const context = await contextProvider?.(model);
|
|
910
|
+
if (!context) {
|
|
911
|
+
return DEFAULT_MONACO_CONTEXT;
|
|
912
|
+
}
|
|
913
|
+
const monacoContext = Object.freeze({
|
|
914
|
+
get(key) {
|
|
915
|
+
try {
|
|
916
|
+
return context.get(key);
|
|
917
|
+
} catch {
|
|
918
|
+
clearCache();
|
|
919
|
+
return DEFAULT_MONACO_CONTEXT.get(key);
|
|
920
|
+
}
|
|
921
|
+
},
|
|
922
|
+
getOrUndefined(key) {
|
|
923
|
+
try {
|
|
924
|
+
return context.has(key) ? context.get(key) : void 0;
|
|
925
|
+
} catch {
|
|
926
|
+
clearCache();
|
|
927
|
+
return DEFAULT_MONACO_CONTEXT.getOrUndefined(key);
|
|
928
|
+
}
|
|
929
|
+
},
|
|
930
|
+
has(key) {
|
|
931
|
+
try {
|
|
932
|
+
return context.has(key);
|
|
933
|
+
} catch {
|
|
934
|
+
clearCache();
|
|
935
|
+
return DEFAULT_MONACO_CONTEXT.has(key);
|
|
936
|
+
}
|
|
937
|
+
},
|
|
938
|
+
keys() {
|
|
939
|
+
try {
|
|
940
|
+
return context.keys();
|
|
941
|
+
} catch {
|
|
942
|
+
clearCache();
|
|
943
|
+
return DEFAULT_MONACO_CONTEXT.keys();
|
|
944
|
+
}
|
|
945
|
+
},
|
|
946
|
+
describe(key) {
|
|
947
|
+
try {
|
|
948
|
+
return context.describe?.(key) || void 0;
|
|
949
|
+
} catch {
|
|
950
|
+
clearCache();
|
|
951
|
+
return DEFAULT_MONACO_CONTEXT.describe(key);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
});
|
|
955
|
+
return monacoContext;
|
|
956
|
+
} catch (ex) {
|
|
957
|
+
console.error("Error getting MiraScript Monaco context:", ex);
|
|
958
|
+
return DEFAULT_MONACO_CONTEXT;
|
|
959
|
+
}
|
|
960
|
+
}
|
|
868
961
|
var cachedContext = null;
|
|
869
962
|
async function getContext(model) {
|
|
870
963
|
if (cachedContext?.[0] === model) {
|
|
871
964
|
return cachedContext[1];
|
|
872
965
|
}
|
|
873
|
-
const context = await contextProvider?.(model);
|
|
874
|
-
if (!context) {
|
|
875
|
-
return DEFAULT_MONACO_CONTEXT;
|
|
876
|
-
}
|
|
877
|
-
const monacoContext = Object.freeze({
|
|
878
|
-
get(key) {
|
|
879
|
-
try {
|
|
880
|
-
return context.get(key);
|
|
881
|
-
} catch {
|
|
882
|
-
clearCache();
|
|
883
|
-
return DefaultVmContext.get(key);
|
|
884
|
-
}
|
|
885
|
-
},
|
|
886
|
-
has(key) {
|
|
887
|
-
try {
|
|
888
|
-
return context.has(key);
|
|
889
|
-
} catch {
|
|
890
|
-
clearCache();
|
|
891
|
-
return DefaultVmContext.has(key);
|
|
892
|
-
}
|
|
893
|
-
},
|
|
894
|
-
keys() {
|
|
895
|
-
try {
|
|
896
|
-
return context.keys();
|
|
897
|
-
} catch {
|
|
898
|
-
clearCache();
|
|
899
|
-
return DefaultVmContext.keys();
|
|
900
|
-
}
|
|
901
|
-
},
|
|
902
|
-
describe(key) {
|
|
903
|
-
try {
|
|
904
|
-
return context.describe?.(key) || void 0;
|
|
905
|
-
} catch {
|
|
906
|
-
clearCache();
|
|
907
|
-
return void 0;
|
|
908
|
-
}
|
|
909
|
-
}
|
|
910
|
-
});
|
|
911
|
-
const cache2 = [model, monacoContext];
|
|
912
|
-
cachedContext = cache2;
|
|
913
966
|
const clearCache = () => {
|
|
914
967
|
if (cachedContext === cache2) {
|
|
915
968
|
cachedContext = null;
|
|
916
969
|
}
|
|
917
970
|
};
|
|
971
|
+
const context = getContextImpl(model, clearCache);
|
|
972
|
+
const cache2 = [model, context];
|
|
973
|
+
cachedContext = cache2;
|
|
918
974
|
setTimeout(clearCache, 100);
|
|
919
|
-
return
|
|
975
|
+
return context;
|
|
920
976
|
}
|
|
921
977
|
var Provider = class {
|
|
922
978
|
constructor() {
|
|
@@ -1305,7 +1361,7 @@ var CompletionItemProvider = class extends Provider {
|
|
|
1305
1361
|
if (char && !key.toLowerCase().includes(char)) {
|
|
1306
1362
|
continue;
|
|
1307
1363
|
}
|
|
1308
|
-
const doc = global.describe
|
|
1364
|
+
const doc = global.describe(key);
|
|
1309
1365
|
suggestions.push({
|
|
1310
1366
|
insertText: localKeys.has(key) ? `global.${key}` : key,
|
|
1311
1367
|
// 如果有同名局部变量,使用 global. 前缀
|
|
@@ -1354,7 +1410,7 @@ var CompletionItemProvider = class extends Provider {
|
|
|
1354
1410
|
}
|
|
1355
1411
|
const vmGlobal = await this.getContext(model);
|
|
1356
1412
|
fields.pop();
|
|
1357
|
-
const value = getDeep(vmGlobal
|
|
1413
|
+
const value = getDeep(vmGlobal, def.def.name, fields);
|
|
1358
1414
|
if (value == null || typeof value != "object") {
|
|
1359
1415
|
return [];
|
|
1360
1416
|
}
|
|
@@ -1493,8 +1549,7 @@ var DefinitionReferenceProvider = class extends Provider {
|
|
|
1493
1549
|
const { globalModel } = this;
|
|
1494
1550
|
const globals = await this.getContext(model);
|
|
1495
1551
|
const [name, ...access] = path;
|
|
1496
|
-
|
|
1497
|
-
const value = getDeep(globals.get(name), access);
|
|
1552
|
+
const value = getDeep(globals, name, access);
|
|
1498
1553
|
if (value === void 0) return void 0;
|
|
1499
1554
|
const { script, doc } = valueDoc(path.at(-1), value, "declare");
|
|
1500
1555
|
const code = ["", ...docComment(doc), script, ""];
|
|
@@ -1720,13 +1775,13 @@ var HoverProvider = class extends Provider {
|
|
|
1720
1775
|
let range;
|
|
1721
1776
|
if ("name" in def) {
|
|
1722
1777
|
const globals = await this.getContext(model);
|
|
1723
|
-
const value = globals.
|
|
1778
|
+
const value = globals.getOrUndefined(def.name);
|
|
1724
1779
|
const { script, doc } = valueDoc(def.name, value, "hint");
|
|
1725
1780
|
contents.push({ value: codeblock(`\0(global) ${script}`) });
|
|
1726
1781
|
for (const d of doc) {
|
|
1727
1782
|
contents.push({ value: d });
|
|
1728
1783
|
}
|
|
1729
|
-
const describe = globals.describe
|
|
1784
|
+
const describe = globals.describe(def.name);
|
|
1730
1785
|
if (describe) {
|
|
1731
1786
|
contents.push({ value: describe });
|
|
1732
1787
|
}
|
|
@@ -1814,7 +1869,7 @@ var HoverProvider = class extends Provider {
|
|
|
1814
1869
|
return void 0;
|
|
1815
1870
|
}
|
|
1816
1871
|
const vmGlobal = await this.getContext(model);
|
|
1817
|
-
const value = getDeep(vmGlobal
|
|
1872
|
+
const value = getDeep(vmGlobal, def.name, fields);
|
|
1818
1873
|
if (value == null) return void 0;
|
|
1819
1874
|
const lastField = fields.pop();
|
|
1820
1875
|
const { script, doc } = valueDoc(lastField, value, "field");
|
|
@@ -2125,12 +2180,15 @@ var DocumentSemanticTokensProvider = class extends Provider {
|
|
|
2125
2180
|
const id = model.getValueInRange(range);
|
|
2126
2181
|
if (id.startsWith("@")) {
|
|
2127
2182
|
tokenType = 2 /* CONSTANT */;
|
|
2128
|
-
} else if (isVmFunction2(globals.get(id))) {
|
|
2129
|
-
tokenType = 4 /* FUNCTION */;
|
|
2130
|
-
} else if (isVmModule3(globals.get(id))) {
|
|
2131
|
-
tokenType = 5 /* MODULE */;
|
|
2132
2183
|
} else {
|
|
2133
|
-
|
|
2184
|
+
const val = globals.getOrUndefined(id);
|
|
2185
|
+
if (isVmFunction2(val)) {
|
|
2186
|
+
tokenType = 4 /* FUNCTION */;
|
|
2187
|
+
} else if (isVmModule3(val)) {
|
|
2188
|
+
tokenType = 5 /* MODULE */;
|
|
2189
|
+
} else {
|
|
2190
|
+
tokenType = 3 /* GLOBAL */;
|
|
2191
|
+
}
|
|
2134
2192
|
}
|
|
2135
2193
|
break;
|
|
2136
2194
|
}
|
|
@@ -2267,7 +2325,7 @@ var SignatureHelpProvider = class extends Provider {
|
|
|
2267
2325
|
if ("name" in callableInfo.def.def) {
|
|
2268
2326
|
const { name } = callableInfo.def.def;
|
|
2269
2327
|
const globals = await this.getContext(model);
|
|
2270
|
-
const callable = getDeep(globals
|
|
2328
|
+
const callable = getDeep(globals, name, callableInfo.fields);
|
|
2271
2329
|
const info = getVmFunctionInfo3(callable);
|
|
2272
2330
|
if (!info) return void 0;
|
|
2273
2331
|
sig = { ...fnSignature(name, info), name, summary: info.summary };
|