@mirascript/monaco 0.1.17 → 0.1.19
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/lsp/compile-result.d.ts.map +1 -1
- package/dist/lsp/diagnostics.d.ts +2 -2
- package/dist/lsp/diagnostics.d.ts.map +1 -1
- package/dist/lsp/index.d.ts +2 -2
- package/dist/lsp/index.d.ts.map +1 -1
- package/dist/lsp/index.js +88 -59
- package/dist/lsp/index.js.map +2 -2
- package/dist/lsp/providers/base.d.ts +6 -4
- 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/formatter-provider.d.ts +2 -2
- package/dist/lsp/providers/formatter-provider.d.ts.map +1 -1
- package/dist/lsp/providers/hover-provider.d.ts.map +1 -1
- package/dist/lsp/worker-helper.d.ts +2 -2
- package/dist/lsp/worker-helper.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/lsp/compile-result.ts +3 -7
- package/src/lsp/diagnostics.ts +20 -18
- package/src/lsp/index.ts +3 -4
- package/src/lsp/providers/base.ts +27 -24
- package/src/lsp/providers/completion-item-provider.ts +4 -0
- package/src/lsp/providers/formatter-provider.ts +27 -21
- package/src/lsp/providers/hover-provider.ts +11 -2
- package/src/lsp/worker-helper.ts +10 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-result.d.ts","sourceRoot":"","sources":["../../src/lsp/compile-result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAS,KAAK,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAG7F,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAEH,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAElD,cAAc;AACd,UAAU,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACpE,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAChF;AACD,aAAa;AACb,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,eAAO,MAAM,iBAAiB,yCAA0C,CAAC;AAEzE,aAAa;AACb,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,eAAO,MAAM,iBAAiB,kGAIpB,CAAC;AACX,aAAa;AACb,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,2JAKxB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,eAAO,MAAM,uBAAuB,mGAG1B,CAAC;AACX,aAAa;AACb,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,eAAO,MAAM,oBAAoB,iFAAkF,CAAC;AACpH,aAAa;AACb,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,eAAO,MAAM,eAAe,uCAAwC,CAAC;AACrE,aAAa;AACb,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,eAAO,MAAM,uBAAuB,+QAI1B,CAAC;AACX,cAAc;AACd,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjF,eAAO,MAAM,wBAAwB,6PAI3B,CAAC;AACX,aAAa;AACb,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,eAAO,MAAM,mBAAmB,oYAAoF,CAAC;AAErH,cAAc;AACd,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"compile-result.d.ts","sourceRoot":"","sources":["../../src/lsp/compile-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { editor } from '../monaco-api.js';
|
|
1
|
+
import { type editor } from '../monaco-api.js';
|
|
2
2
|
import type { CompileResult } from './compile-result.js';
|
|
3
3
|
/** 设置标记 */
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function makeModelMarkers(model: editor.ITextModel, result: CompileResult): Promise<editor.IMarkerData[] | null>;
|
|
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,EAA+C,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lsp/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAA+C,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAyF3E,WAAW;AACX,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAgCtC"}
|
package/dist/lsp/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type IDisposable } from '../monaco-api.js';
|
|
2
2
|
import '../basic/index.js';
|
|
3
3
|
import type { VmContextProvider } from '../index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { Provider } from './providers/base.js';
|
|
5
5
|
import { CodeActionProvider } from './providers/code-action-provider.js';
|
|
6
6
|
import { ColorProvider } from './providers/color-provider.js';
|
|
7
7
|
import { CompletionItemProvider } from './providers/completion-item-provider.js';
|
|
@@ -15,7 +15,7 @@ import { RangeProvider } from './providers/range-provider.js';
|
|
|
15
15
|
import { RenameProvider } from './providers/rename-provider.js';
|
|
16
16
|
import { DocumentSemanticTokensProvider } from './providers/semantic-tokens-provider.js';
|
|
17
17
|
import { SignatureHelpProvider } from './providers/signature-help-provider.js';
|
|
18
|
-
export { CodeActionProvider, ColorProvider, CompletionItemProvider, DefinitionReferenceProvider, DocumentHighlightProvider, DocumentSemanticTokensProvider, DocumentSymbolProvider, FormatterProvider, HoverProvider, InlayHintsProvider, RangeProvider, RenameProvider, SignatureHelpProvider,
|
|
18
|
+
export { CodeActionProvider, ColorProvider, CompletionItemProvider, DefinitionReferenceProvider, DocumentHighlightProvider, DocumentSemanticTokensProvider, DocumentSymbolProvider, FormatterProvider, HoverProvider, InlayHintsProvider, RangeProvider, RenameProvider, SignatureHelpProvider, Provider, };
|
|
19
19
|
/** 注册 LSP 相关的编辑器功能 */
|
|
20
20
|
export declare function registerLSP(contextProvider: VmContextProvider | undefined): Promise<IDisposable[]>;
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/lsp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,QAAQ,GACX,CAAC;AAEF,sBAAsB;AACtB,wBAAsB,WAAW,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CxG"}
|
package/dist/lsp/index.js
CHANGED
|
@@ -745,11 +745,9 @@ var makeMarker = (model, diagnostic, severity) => {
|
|
|
745
745
|
}
|
|
746
746
|
return marker;
|
|
747
747
|
};
|
|
748
|
-
async function
|
|
749
|
-
const setModelMarkers = editor?.setModelMarkers;
|
|
750
|
-
if (typeof setModelMarkers != "function") return;
|
|
748
|
+
async function makeModelMarkers(model, result) {
|
|
751
749
|
const { version } = result;
|
|
752
|
-
if (version !== model.getVersionId()) return;
|
|
750
|
+
if (version !== model.getVersionId()) return null;
|
|
753
751
|
const errors = result.errors.map((d) => makeMarker(model, d, MarkerSeverity.Error));
|
|
754
752
|
const warnings = result.warnings.map((d) => makeMarker(model, d, MarkerSeverity.Warning));
|
|
755
753
|
const infos = result.infos.map((d) => makeMarker(model, d, MarkerSeverity.Info));
|
|
@@ -757,25 +755,27 @@ async function setMarkers(model, result) {
|
|
|
757
755
|
const markers = [...errors, ...warnings, ...infos, ...hints];
|
|
758
756
|
const { globals } = result.groupedTags(model);
|
|
759
757
|
if (globals.length) {
|
|
760
|
-
const context = await getContext(model);
|
|
758
|
+
const context = await Provider.getContext(model);
|
|
761
759
|
for (const g of globals) {
|
|
762
760
|
const { name } = g;
|
|
763
761
|
if (context.has(name)) continue;
|
|
764
762
|
const template = getDiagnosticMessage(DiagnosticCode3.GlobalVariableNotDeclared);
|
|
765
763
|
if (!template) continue;
|
|
766
764
|
const message = formatMessage(model, template, name);
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
765
|
+
for (const ref of g.references) {
|
|
766
|
+
markers.push(
|
|
767
|
+
makeMarkerData(
|
|
768
|
+
model,
|
|
769
|
+
ref.range,
|
|
770
|
+
DiagnosticCode3.GlobalVariableNotDeclared,
|
|
771
|
+
message,
|
|
772
|
+
MarkerSeverity.Warning
|
|
773
|
+
)
|
|
774
|
+
);
|
|
775
|
+
}
|
|
776
776
|
}
|
|
777
777
|
}
|
|
778
|
-
|
|
778
|
+
return markers;
|
|
779
779
|
}
|
|
780
780
|
|
|
781
781
|
// src/lsp/worker-helper.ts
|
|
@@ -863,7 +863,13 @@ async function compile(model) {
|
|
|
863
863
|
const value = model.getValue();
|
|
864
864
|
const req = [cacheKey, version, value, mode];
|
|
865
865
|
const res = USE_WORKER ? compileWorker(req) : compileSync(req);
|
|
866
|
-
void res.then(async (result) =>
|
|
866
|
+
void res.then(async (result) => {
|
|
867
|
+
const setModelMarkers = editor?.setModelMarkers;
|
|
868
|
+
if (typeof setModelMarkers != "function") return;
|
|
869
|
+
const markers = await makeModelMarkers(model, result);
|
|
870
|
+
if (!markers) return;
|
|
871
|
+
setModelMarkers(model, "mirascript", markers);
|
|
872
|
+
});
|
|
867
873
|
const item = {
|
|
868
874
|
version,
|
|
869
875
|
lastAccess: Date.now(),
|
|
@@ -881,10 +887,6 @@ async function compile(model) {
|
|
|
881
887
|
|
|
882
888
|
// src/lsp/providers/base.ts
|
|
883
889
|
var contextProvider;
|
|
884
|
-
function setContextProvider(provider) {
|
|
885
|
-
contextProvider = provider;
|
|
886
|
-
cachedContext = null;
|
|
887
|
-
}
|
|
888
890
|
var DEFAULT_MONACO_CONTEXT = Object.freeze({
|
|
889
891
|
get(key) {
|
|
890
892
|
return DefaultVmContext.get(key);
|
|
@@ -957,37 +959,47 @@ async function getContextImpl(model, clearCache) {
|
|
|
957
959
|
}
|
|
958
960
|
}
|
|
959
961
|
var cachedContext = null;
|
|
960
|
-
|
|
961
|
-
if (cachedContext?.[0] === model) {
|
|
962
|
-
return cachedContext[1];
|
|
963
|
-
}
|
|
964
|
-
const clearCache = () => {
|
|
965
|
-
if (cachedContext === cache2) {
|
|
966
|
-
cachedContext = null;
|
|
967
|
-
}
|
|
968
|
-
};
|
|
969
|
-
const context = getContextImpl(model, clearCache);
|
|
970
|
-
const cache2 = [model, context];
|
|
971
|
-
cachedContext = cache2;
|
|
972
|
-
setTimeout(clearCache, 100);
|
|
973
|
-
return context;
|
|
974
|
-
}
|
|
975
|
-
var Provider = class {
|
|
962
|
+
var Provider = class _Provider {
|
|
976
963
|
constructor() {
|
|
977
964
|
this.displayName = "MiraScript LSP";
|
|
978
965
|
this._debugDisplayName = "MiraScript LSP";
|
|
979
966
|
this._onDidChange = null;
|
|
980
967
|
}
|
|
968
|
+
/** 设置全局变量提供者 */
|
|
969
|
+
static setContextProvider(provider) {
|
|
970
|
+
contextProvider = provider;
|
|
971
|
+
cachedContext = null;
|
|
972
|
+
}
|
|
981
973
|
/** 获取编译结果 */
|
|
982
|
-
async getCompileResult(model) {
|
|
974
|
+
static async getCompileResult(model) {
|
|
983
975
|
if (model.uri.scheme === "mirascript") {
|
|
984
976
|
return void 0;
|
|
985
977
|
}
|
|
986
978
|
return await compile(model);
|
|
987
979
|
}
|
|
980
|
+
/** 获取编译结果 */
|
|
981
|
+
async getCompileResult(model) {
|
|
982
|
+
return _Provider.getCompileResult(model);
|
|
983
|
+
}
|
|
984
|
+
/** 获取执行上下文(全局变量) */
|
|
985
|
+
static async getContext(model) {
|
|
986
|
+
if (cachedContext?.[0] === model) {
|
|
987
|
+
return cachedContext[1];
|
|
988
|
+
}
|
|
989
|
+
const clearCache = () => {
|
|
990
|
+
if (cachedContext === cache2) {
|
|
991
|
+
cachedContext = null;
|
|
992
|
+
}
|
|
993
|
+
};
|
|
994
|
+
const context = getContextImpl(model, clearCache);
|
|
995
|
+
const cache2 = [model, context];
|
|
996
|
+
cachedContext = cache2;
|
|
997
|
+
setTimeout(clearCache, 100);
|
|
998
|
+
return context;
|
|
999
|
+
}
|
|
988
1000
|
/** 获取执行上下文(全局变量) */
|
|
989
1001
|
async getContext(model) {
|
|
990
|
-
return getContext(model);
|
|
1002
|
+
return _Provider.getContext(model);
|
|
991
1003
|
}
|
|
992
1004
|
/** 获取当前位置的值 */
|
|
993
1005
|
async getValueAt(model, position) {
|
|
@@ -1128,7 +1140,8 @@ var ColorProvider = class extends Provider {
|
|
|
1128
1140
|
import {
|
|
1129
1141
|
getVmFunctionInfo as getVmFunctionInfo2,
|
|
1130
1142
|
isVmExtern as isVmExtern2,
|
|
1131
|
-
isVmModule as isVmModule2
|
|
1143
|
+
isVmModule as isVmModule2,
|
|
1144
|
+
isVmWrapper
|
|
1132
1145
|
} from "@mirascript/mirascript";
|
|
1133
1146
|
import { DiagnosticCode as DiagnosticCode5, lib, operations as operations2 } from "@mirascript/mirascript/subtle";
|
|
1134
1147
|
var DESC_GLOBAL = "(global)";
|
|
@@ -1352,6 +1365,7 @@ var CompletionItemProvider = class extends Provider {
|
|
|
1352
1365
|
insertText: localKeys.has(key) ? `global.${key}.${f}` : `${key}.${f}`,
|
|
1353
1366
|
filterText: filterText(f, char),
|
|
1354
1367
|
range,
|
|
1368
|
+
vmDescribe: element.describe(f),
|
|
1355
1369
|
...completion(model, DESC_GLOBAL, `${key}.${f}`, field, void 0, true)
|
|
1356
1370
|
});
|
|
1357
1371
|
}
|
|
@@ -1420,9 +1434,11 @@ var CompletionItemProvider = class extends Provider {
|
|
|
1420
1434
|
continue;
|
|
1421
1435
|
}
|
|
1422
1436
|
const field = operations2.$Get(value, key);
|
|
1437
|
+
const doc = isVmWrapper(value) ? value.describe(key) : void 0;
|
|
1423
1438
|
result.push({
|
|
1424
1439
|
insertText: key,
|
|
1425
1440
|
range,
|
|
1441
|
+
vmDescribe: doc,
|
|
1426
1442
|
...completion(model, DESC_FIELD, key, field, void 0, true)
|
|
1427
1443
|
});
|
|
1428
1444
|
}
|
|
@@ -1722,39 +1738,43 @@ var DocumentSymbolProvider = class extends Provider {
|
|
|
1722
1738
|
};
|
|
1723
1739
|
|
|
1724
1740
|
// src/lsp/providers/formatter-provider.ts
|
|
1741
|
+
async function format(model, ranges, options, hint, token) {
|
|
1742
|
+
if (hint !== "full") return [];
|
|
1743
|
+
const compiled = await Provider.getCompileResult(model);
|
|
1744
|
+
if (compiled?.result.formatted == null) return [];
|
|
1745
|
+
return [
|
|
1746
|
+
{
|
|
1747
|
+
range: model.getFullModelRange(),
|
|
1748
|
+
text: compiled.result.formatted
|
|
1749
|
+
}
|
|
1750
|
+
];
|
|
1751
|
+
}
|
|
1725
1752
|
var FormatterProvider = class extends Provider {
|
|
1726
1753
|
constructor() {
|
|
1727
1754
|
super(...arguments);
|
|
1728
1755
|
/** @inheritdoc */
|
|
1729
1756
|
this.autoFormatTriggerCharacters = [";", "}", "]", ")"];
|
|
1730
1757
|
}
|
|
1731
|
-
/**
|
|
1732
|
-
async format(model,
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
if (compiled?.result.formatted == null) return [];
|
|
1736
|
-
return [
|
|
1737
|
-
{
|
|
1738
|
-
range: model.getFullModelRange(),
|
|
1739
|
-
text: compiled.result.formatted
|
|
1740
|
-
}
|
|
1741
|
-
];
|
|
1758
|
+
/** 进行完整格式化 */
|
|
1759
|
+
static async format(model, options) {
|
|
1760
|
+
const formatted = await format(model, [], options, "full", void 0);
|
|
1761
|
+
return formatted.length === 1 ? formatted[0].text : null;
|
|
1742
1762
|
}
|
|
1743
1763
|
/** @inheritdoc */
|
|
1744
1764
|
provideDocumentFormattingEdits(model, options, token) {
|
|
1745
|
-
return
|
|
1765
|
+
return format(model, [], options, "full", token);
|
|
1746
1766
|
}
|
|
1747
1767
|
/** @inheritdoc */
|
|
1748
1768
|
provideDocumentRangeFormattingEdits(model, range, options, token) {
|
|
1749
|
-
return
|
|
1769
|
+
return format(model, [range], options, "range", token);
|
|
1750
1770
|
}
|
|
1751
1771
|
/** @inheritdoc */
|
|
1752
1772
|
provideDocumentRangesFormattingEdits(model, ranges, options, token) {
|
|
1753
|
-
return
|
|
1773
|
+
return format(model, ranges, options, "range", token);
|
|
1754
1774
|
}
|
|
1755
1775
|
/** @inheritdoc */
|
|
1756
1776
|
provideOnTypeFormattingEdits(model, position, ch, options, token) {
|
|
1757
|
-
return
|
|
1777
|
+
return format(
|
|
1758
1778
|
model,
|
|
1759
1779
|
[Range.fromPositions(position, position)],
|
|
1760
1780
|
options,
|
|
@@ -1766,6 +1786,8 @@ var FormatterProvider = class extends Provider {
|
|
|
1766
1786
|
|
|
1767
1787
|
// src/lsp/providers/hover-provider.ts
|
|
1768
1788
|
import { DiagnosticCode as DiagnosticCode8 } from "@mirascript/bindings/wasm";
|
|
1789
|
+
import { isVmWrapper as isVmWrapper2 } from "@mirascript/mirascript";
|
|
1790
|
+
import { operations as operations3 } from "@mirascript/mirascript/subtle";
|
|
1769
1791
|
var HoverProvider = class extends Provider {
|
|
1770
1792
|
/** 变量提示 */
|
|
1771
1793
|
async provideVariableHover(model, { def, ref }) {
|
|
@@ -1867,10 +1889,17 @@ var HoverProvider = class extends Provider {
|
|
|
1867
1889
|
return void 0;
|
|
1868
1890
|
}
|
|
1869
1891
|
const vmGlobal = await this.getContext(model);
|
|
1870
|
-
const value = getDeep(vmGlobal, def.name, fields);
|
|
1871
|
-
if (value == null) return void 0;
|
|
1872
1892
|
const lastField = fields.pop();
|
|
1893
|
+
const obj = getDeep(vmGlobal, def.name, fields);
|
|
1894
|
+
if (obj == null) return void 0;
|
|
1895
|
+
const value = operations3.$Get(obj, lastField);
|
|
1873
1896
|
const { script, doc } = valueDoc(lastField, value, "field");
|
|
1897
|
+
if (isVmWrapper2(obj)) {
|
|
1898
|
+
const describe = obj.describe(lastField);
|
|
1899
|
+
if (describe) {
|
|
1900
|
+
doc.unshift(describe);
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1874
1903
|
return {
|
|
1875
1904
|
contents: [{ value: codeblock(`\0(field) ${script}`) }, ...doc.map((d) => ({ value: d }))],
|
|
1876
1905
|
range
|
|
@@ -2387,7 +2416,7 @@ var SignatureHelpProvider = class extends Provider {
|
|
|
2387
2416
|
|
|
2388
2417
|
// src/lsp/index.ts
|
|
2389
2418
|
async function registerLSP(contextProvider2) {
|
|
2390
|
-
setContextProvider(contextProvider2);
|
|
2419
|
+
Provider.setContextProvider(contextProvider2);
|
|
2391
2420
|
const { loadModule } = await import("@mirascript/bindings/wasm");
|
|
2392
2421
|
await loadModule();
|
|
2393
2422
|
const codeActionProvider = new CodeActionProvider();
|
|
@@ -2435,10 +2464,10 @@ export {
|
|
|
2435
2464
|
FormatterProvider,
|
|
2436
2465
|
HoverProvider,
|
|
2437
2466
|
InlayHintsProvider,
|
|
2467
|
+
Provider,
|
|
2438
2468
|
RangeProvider,
|
|
2439
2469
|
RenameProvider,
|
|
2440
2470
|
SignatureHelpProvider,
|
|
2441
|
-
registerLSP
|
|
2442
|
-
setContextProvider
|
|
2471
|
+
registerLSP
|
|
2443
2472
|
};
|
|
2444
2473
|
//# sourceMappingURL=index.js.map
|
package/dist/lsp/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lsp/providers/base.ts", "../../src/lsp/utils.ts", "../../src/lsp/compile-result.ts", "../../src/lsp/diagnostics.ts", "../../src/lsp/worker-helper.ts", "../../src/lsp/providers/code-action-provider.ts", "../../src/lsp/providers/color-provider.ts", "../../src/lsp/providers/completion-item-provider.ts", "../../src/lsp/providers/definition-reference-provider.ts", "../../src/lsp/providers/document-highlight-provider.ts", "../../src/lsp/providers/document-symbol-provider.ts", "../../src/lsp/providers/formatter-provider.ts", "../../src/lsp/providers/hover-provider.ts", "../../src/lsp/providers/inlay-hints-provider.ts", "../../src/lsp/providers/range-provider.ts", "../../src/lsp/providers/rename-provider.ts", "../../src/lsp/providers/semantic-tokens-provider.ts", "../../src/lsp/providers/signature-help-provider.ts", "../../src/lsp/index.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["value", "DiagnosticCode", "def", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "DiagnosticCode", "operations", "getVmFunctionInfo", "isVmModule", "isVmExtern", "DiagnosticCode", "operations", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "contextProvider"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["value", "DiagnosticCode", "def", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "DiagnosticCode", "operations", "getVmFunctionInfo", "isVmModule", "isVmExtern", "DiagnosticCode", "operations", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmWrapper", "operations", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "contextProvider"]
|
|
6
6
|
}
|
|
@@ -3,20 +3,22 @@ import { type IRange } from '@mirascript/mirascript/subtle';
|
|
|
3
3
|
import type { VmContextProvider } from '../../index.js';
|
|
4
4
|
import { type editor, type IEvent, type IPosition } from '../../monaco-api.js';
|
|
5
5
|
import type { CompileResult, FieldsAccessAt, VariableAccessAt } from '../compile-result.js';
|
|
6
|
-
/** 设置全局变量提供者 */
|
|
7
|
-
export declare function setContextProvider(provider: VmContextProvider | undefined): void;
|
|
8
6
|
/** 提供全局变量的执行上下文 */
|
|
9
7
|
export type MonacoContext = Readonly<Required<Pick<VmContext, 'get' | 'describe' | 'keys' | 'has'>>> & {
|
|
10
8
|
/** 获取指定 key 的值,找不到时返回 undefined */
|
|
11
9
|
getOrUndefined(key: string): VmAny;
|
|
12
10
|
};
|
|
13
|
-
/** 获取执行上下文 */
|
|
14
|
-
export declare function getContext(model: editor.ITextModel): Promise<MonacoContext>;
|
|
15
11
|
/** 提供编辑器 LSP 支持 */
|
|
16
12
|
export declare abstract class Provider {
|
|
13
|
+
/** 设置全局变量提供者 */
|
|
14
|
+
static setContextProvider(provider: VmContextProvider | undefined): void;
|
|
15
|
+
/** 获取编译结果 */
|
|
16
|
+
static getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined>;
|
|
17
17
|
/** 获取编译结果 */
|
|
18
18
|
getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined>;
|
|
19
19
|
/** 获取执行上下文(全局变量) */
|
|
20
|
+
static getContext(model: editor.ITextModel): Promise<MonacoContext>;
|
|
21
|
+
/** 获取执行上下文(全局变量) */
|
|
20
22
|
getContext(model: editor.ITextModel): Promise<MonacoContext>;
|
|
21
23
|
/** 获取当前位置的值 */
|
|
22
24
|
getValueAt(model: editor.ITextModel, position: IPosition): Promise<({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK5F,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK5F,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;IACnG,mCAAmC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtC,CAAC;AA6EF,mBAAmB;AACnB,8BAAsB,QAAQ;IAC1B,gBAAgB;IAChB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAIxE,aAAa;WACA,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAM3F,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAGpF,oBAAoB;WACP,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAezE,oBAAoB;IACd,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAGlE,eAAe;IACT,UAAU,CACZ,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3G,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,iBAAiB,oBAAoB;IAC9C,OAAO,CAAC,YAAY,CAA8B;IAClD,kBAAkB;IAClB,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAG7C;IACD,qBAAqB;IACrB,aAAa,IAAI,IAAI;CAGxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-item-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/completion-item-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"completion-item-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/completion-item-provider.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,KAAK,MAAM,EACX,SAAS,EACT,KAAK,iBAAiB,EAGtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA4OrC;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,QAAS,YAAW,SAAS,CAAC,sBAAsB;IAC5F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAc;IAClD,aAAa;YACC,cAAc;IA8C5B,aAAa;YACC,aAAa;IAiC3B,aAAa;YACC,cAAc;IAwC5B,aAAa;IACb,OAAO,CAAC,sBAAsB;IAO9B,kBAAkB;IACZ,sBAAsB,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC;IAyFhD,kBAAkB;IAClB,qBAAqB,CACjB,IAAI,EAAE,SAAS,CAAC,cAAc,EAC9B,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,GAAG,SAAS;CAiB1C"}
|
|
@@ -2,8 +2,8 @@ import { type languages, type editor, Range, type CancellationToken, type Positi
|
|
|
2
2
|
import { Provider } from './base.js';
|
|
3
3
|
/** 格式化 */
|
|
4
4
|
export declare class FormatterProvider extends Provider implements languages.DocumentFormattingEditProvider, languages.DocumentRangeFormattingEditProvider, languages.OnTypeFormattingEditProvider {
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/** 进行完整格式化 */
|
|
6
|
+
static format(model: editor.ITextModel, options?: languages.FormattingOptions): Promise<string | null>;
|
|
7
7
|
/** @inheritdoc */
|
|
8
8
|
provideDocumentFormattingEdits(model: editor.ITextModel, options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
|
|
9
9
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/formatter-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,MAAM,EAEX,KAAK,EACL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"formatter-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/formatter-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,MAAM,EAEX,KAAK,EACL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAqBrC,UAAU;AACV,qBAAa,iBACT,SAAQ,QACR,YACI,SAAS,CAAC,8BAA8B,EACxC,SAAS,CAAC,mCAAmC,EAC7C,SAAS,CAAC,4BAA4B;IAE1C,cAAc;WACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI5G,kBAAkB;IAClB,8BAA8B,CAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,mCAAmC,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,oCAAoC,CAChC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,QAAQ,CAAC,2BAA2B,WAAwB;IAC5D,kBAAkB;IAClB,4BAA4B,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;CASpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/hover-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"hover-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/hover-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,QAAS,YAAW,SAAS,CAAC,aAAa;IAC1E,WAAW;YACG,oBAAoB;IAiGlC,WAAW;YACG,iBAAiB;IA0B/B,kBAAkB;IACZ,YAAY,CACd,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAClD,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CAS1C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { editor } from '../monaco-api.js';
|
|
2
2
|
import { CompileResult } from './compile-result.js';
|
|
3
|
-
/**
|
|
3
|
+
/** 编译并设置缓存 */
|
|
4
4
|
export declare function compile(model: editor.ITextModel): Promise<CompileResult>;
|
|
5
5
|
//# sourceMappingURL=worker-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyFpD,cAAc;AACd,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAkC9E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirascript/monaco",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"author": "CloudPSS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Monaco Editor integration for Mirascript.",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@mirascript/mirascript": "~0.1.
|
|
32
|
-
"@mirascript/bindings": "~0.1.
|
|
31
|
+
"@mirascript/mirascript": "~0.1.19",
|
|
32
|
+
"@mirascript/bindings": "~0.1.19"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"monaco-editor": ">= 0.0.40 < 0.55.0"
|
|
@@ -67,13 +67,9 @@ export type LocalDefinitionType = (typeof LocalDefinitionType)[number];
|
|
|
67
67
|
export const LocalDefinitionType = [...LocalVariableType, ...LocalFunctionType, ...ParameterDefinitionType] as const;
|
|
68
68
|
|
|
69
69
|
/** 源代码定义信息 */
|
|
70
|
-
export interface LocalDefinition<T extends LocalDefinitionType = LocalDefinitionType>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
| DiagnosticCode.WriteLocal
|
|
74
|
-
| DiagnosticCode.ReadWriteLocal
|
|
75
|
-
| DiagnosticCode.RedeclareLocal
|
|
76
|
-
> {
|
|
70
|
+
export interface LocalDefinition<T extends LocalDefinitionType = LocalDefinitionType> extends SourceDefinitionBase<
|
|
71
|
+
DiagnosticCode.ReadLocal | DiagnosticCode.WriteLocal | DiagnosticCode.ReadWriteLocal | DiagnosticCode.RedeclareLocal
|
|
72
|
+
> {
|
|
77
73
|
/** 符号定义 */
|
|
78
74
|
readonly definition: SourceDiagnostic<T>;
|
|
79
75
|
/** 定义的函数,仅对 LocalFunction 有效 */
|
package/src/lsp/diagnostics.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DiagnosticCode, getDiagnosticMessage } from '@mirascript/mirascript/subtle';
|
|
2
|
-
import { editor, MarkerSeverity, MarkerTag, Uri, type IRange } from '../monaco-api.js';
|
|
2
|
+
import { type editor, MarkerSeverity, MarkerTag, Uri, type IRange } from '../monaco-api.js';
|
|
3
3
|
import type { CompileResult, SourceDiagnostic } from './compile-result.js';
|
|
4
|
-
import {
|
|
4
|
+
import { Provider } from './providers/base.js';
|
|
5
5
|
|
|
6
6
|
const formatMessage = (model: editor.ITextModel, template: string, $0?: string | IRange): string => {
|
|
7
7
|
if (template.includes(`$0`)) {
|
|
@@ -90,12 +90,12 @@ const makeMarker = (
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
/** 设置标记 */
|
|
93
|
-
export async function
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
export async function makeModelMarkers(
|
|
94
|
+
model: editor.ITextModel,
|
|
95
|
+
result: CompileResult,
|
|
96
|
+
): Promise<editor.IMarkerData[] | null> {
|
|
97
97
|
const { version } = result;
|
|
98
|
-
if (version !== model.getVersionId()) return;
|
|
98
|
+
if (version !== model.getVersionId()) return null;
|
|
99
99
|
|
|
100
100
|
const errors = result.errors.map((d) => makeMarker(model, d, MarkerSeverity.Error));
|
|
101
101
|
const warnings = result.warnings.map((d) => makeMarker(model, d, MarkerSeverity.Warning));
|
|
@@ -104,23 +104,25 @@ export async function setMarkers(model: editor.ITextModel, result: CompileResult
|
|
|
104
104
|
const markers = [...errors, ...warnings, ...infos, ...hints];
|
|
105
105
|
const { globals } = result.groupedTags(model);
|
|
106
106
|
if (globals.length) {
|
|
107
|
-
const context = await getContext(model);
|
|
107
|
+
const context = await Provider.getContext(model);
|
|
108
108
|
for (const g of globals) {
|
|
109
109
|
const { name } = g;
|
|
110
110
|
if (context.has(name)) continue;
|
|
111
111
|
const template = getDiagnosticMessage(DiagnosticCode.GlobalVariableNotDeclared);
|
|
112
112
|
if (!template) continue;
|
|
113
113
|
const message = formatMessage(model, template, name);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
for (const ref of g.references) {
|
|
115
|
+
markers.push(
|
|
116
|
+
makeMarkerData(
|
|
117
|
+
model,
|
|
118
|
+
ref.range,
|
|
119
|
+
DiagnosticCode.GlobalVariableNotDeclared,
|
|
120
|
+
message,
|
|
121
|
+
MarkerSeverity.Warning,
|
|
122
|
+
),
|
|
123
|
+
);
|
|
124
|
+
}
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
|
-
|
|
127
|
+
return markers;
|
|
126
128
|
}
|
package/src/lsp/index.ts
CHANGED
|
@@ -2,12 +2,11 @@ import { languages, type IDisposable } from '../monaco-api.js';
|
|
|
2
2
|
import '../basic/index.js';
|
|
3
3
|
import type { VmContextProvider } from '../index.js';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Provider } from './providers/base.js';
|
|
6
6
|
import { CodeActionProvider } from './providers/code-action-provider.js';
|
|
7
7
|
import { ColorProvider } from './providers/color-provider.js';
|
|
8
8
|
import { CompletionItemProvider } from './providers/completion-item-provider.js';
|
|
9
9
|
import { DefinitionReferenceProvider } from './providers/definition-reference-provider.js';
|
|
10
|
-
import {} from './diagnostics.js';
|
|
11
10
|
import { DocumentHighlightProvider } from './providers/document-highlight-provider.js';
|
|
12
11
|
import { DocumentSymbolProvider } from './providers/document-symbol-provider.js';
|
|
13
12
|
import { FormatterProvider } from './providers/formatter-provider.js';
|
|
@@ -32,12 +31,12 @@ export {
|
|
|
32
31
|
RangeProvider,
|
|
33
32
|
RenameProvider,
|
|
34
33
|
SignatureHelpProvider,
|
|
35
|
-
|
|
34
|
+
Provider,
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
/** 注册 LSP 相关的编辑器功能 */
|
|
39
38
|
export async function registerLSP(contextProvider: VmContextProvider | undefined): Promise<IDisposable[]> {
|
|
40
|
-
setContextProvider(contextProvider);
|
|
39
|
+
Provider.setContextProvider(contextProvider);
|
|
41
40
|
const { loadModule } = await import('@mirascript/bindings/wasm');
|
|
42
41
|
await loadModule();
|
|
43
42
|
|
|
@@ -7,12 +7,6 @@ import { compile } from '../worker-helper.js';
|
|
|
7
7
|
import { wordAt } from '../utils.js';
|
|
8
8
|
|
|
9
9
|
let contextProvider: VmContextProvider | undefined;
|
|
10
|
-
/** 设置全局变量提供者 */
|
|
11
|
-
export function setContextProvider(provider: VmContextProvider | undefined): void {
|
|
12
|
-
contextProvider = provider;
|
|
13
|
-
cachedContext = null;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
10
|
/** 提供全局变量的执行上下文 */
|
|
17
11
|
export type MonacoContext = Readonly<Required<Pick<VmContext, 'get' | 'describe' | 'keys' | 'has'>>> & {
|
|
18
12
|
/** 获取指定 key 的值,找不到时返回 undefined */
|
|
@@ -93,35 +87,44 @@ async function getContextImpl(model: editor.ITextModel, clearCache: () => void):
|
|
|
93
87
|
}
|
|
94
88
|
}
|
|
95
89
|
let cachedContext: readonly [editor.ITextModel, Promise<MonacoContext>] | null = null;
|
|
96
|
-
/** 获取执行上下文 */
|
|
97
|
-
export async function getContext(model: editor.ITextModel): Promise<MonacoContext> {
|
|
98
|
-
if (cachedContext?.[0] === model) {
|
|
99
|
-
return cachedContext[1];
|
|
100
|
-
}
|
|
101
|
-
const clearCache = () => {
|
|
102
|
-
if (cachedContext === cache) {
|
|
103
|
-
cachedContext = null;
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
const context = getContextImpl(model, clearCache);
|
|
107
|
-
const cache = [model, context] as const;
|
|
108
|
-
cachedContext = cache;
|
|
109
|
-
setTimeout(clearCache, 100);
|
|
110
|
-
return context;
|
|
111
|
-
}
|
|
112
90
|
|
|
113
91
|
/** 提供编辑器 LSP 支持 */
|
|
114
92
|
export abstract class Provider {
|
|
93
|
+
/** 设置全局变量提供者 */
|
|
94
|
+
static setContextProvider(provider: VmContextProvider | undefined): void {
|
|
95
|
+
contextProvider = provider;
|
|
96
|
+
cachedContext = null;
|
|
97
|
+
}
|
|
115
98
|
/** 获取编译结果 */
|
|
116
|
-
async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
|
|
99
|
+
static async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
|
|
117
100
|
if (model.uri.scheme === 'mirascript') {
|
|
118
101
|
return undefined; // 不处理标准库
|
|
119
102
|
}
|
|
120
103
|
return await compile(model);
|
|
121
104
|
}
|
|
105
|
+
/** 获取编译结果 */
|
|
106
|
+
async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
|
|
107
|
+
return Provider.getCompileResult(model);
|
|
108
|
+
}
|
|
109
|
+
/** 获取执行上下文(全局变量) */
|
|
110
|
+
static async getContext(model: editor.ITextModel): Promise<MonacoContext> {
|
|
111
|
+
if (cachedContext?.[0] === model) {
|
|
112
|
+
return cachedContext[1];
|
|
113
|
+
}
|
|
114
|
+
const clearCache = () => {
|
|
115
|
+
if (cachedContext === cache) {
|
|
116
|
+
cachedContext = null;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const context = getContextImpl(model, clearCache);
|
|
120
|
+
const cache = [model, context] as const;
|
|
121
|
+
cachedContext = cache;
|
|
122
|
+
setTimeout(clearCache, 100);
|
|
123
|
+
return context;
|
|
124
|
+
}
|
|
122
125
|
/** 获取执行上下文(全局变量) */
|
|
123
126
|
async getContext(model: editor.ITextModel): Promise<MonacoContext> {
|
|
124
|
-
return getContext(model);
|
|
127
|
+
return Provider.getContext(model);
|
|
125
128
|
}
|
|
126
129
|
/** 获取当前位置的值 */
|
|
127
130
|
async getValueAt(
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
isVmModule,
|
|
6
6
|
type VmFunctionInfo,
|
|
7
7
|
type VmExtern,
|
|
8
|
+
isVmWrapper,
|
|
8
9
|
} from '@mirascript/mirascript';
|
|
9
10
|
import { DiagnosticCode, lib, operations } from '@mirascript/mirascript/subtle';
|
|
10
11
|
import {
|
|
@@ -283,6 +284,7 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
283
284
|
insertText: localKeys.has(key) ? `global.${key}.${f}` : `${key}.${f}`,
|
|
284
285
|
filterText: filterText(f, char),
|
|
285
286
|
range,
|
|
287
|
+
vmDescribe: element.describe(f),
|
|
286
288
|
...completion(model, DESC_GLOBAL, `${key}.${f}`, field, undefined, true),
|
|
287
289
|
});
|
|
288
290
|
}
|
|
@@ -367,9 +369,11 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
367
369
|
continue;
|
|
368
370
|
}
|
|
369
371
|
const field = operations.$Get(value, key);
|
|
372
|
+
const doc = isVmWrapper(value) ? value.describe(key) : undefined;
|
|
370
373
|
result.push({
|
|
371
374
|
insertText: key,
|
|
372
375
|
range,
|
|
376
|
+
vmDescribe: doc,
|
|
373
377
|
...completion(model, DESC_FIELD, key, field, undefined, true),
|
|
374
378
|
});
|
|
375
379
|
}
|
|
@@ -8,6 +8,25 @@ import {
|
|
|
8
8
|
} from '../../monaco-api.js';
|
|
9
9
|
import { Provider } from './base.js';
|
|
10
10
|
|
|
11
|
+
/** 进行格式化 */
|
|
12
|
+
async function format(
|
|
13
|
+
model: editor.ITextModel,
|
|
14
|
+
ranges: readonly IRange[],
|
|
15
|
+
options: languages.FormattingOptions | undefined,
|
|
16
|
+
hint: 'full' | 'range' | 'expression' | 'statement',
|
|
17
|
+
token: CancellationToken | undefined,
|
|
18
|
+
): Promise<languages.TextEdit[]> {
|
|
19
|
+
if (hint !== 'full') return [];
|
|
20
|
+
const compiled = await Provider.getCompileResult(model);
|
|
21
|
+
if (compiled?.result.formatted == null) return [];
|
|
22
|
+
return [
|
|
23
|
+
{
|
|
24
|
+
range: model.getFullModelRange(),
|
|
25
|
+
text: compiled.result.formatted,
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
|
|
11
30
|
/** 格式化 */
|
|
12
31
|
export class FormatterProvider
|
|
13
32
|
extends Provider
|
|
@@ -16,23 +35,10 @@ export class FormatterProvider
|
|
|
16
35
|
languages.DocumentRangeFormattingEditProvider,
|
|
17
36
|
languages.OnTypeFormattingEditProvider
|
|
18
37
|
{
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
model
|
|
22
|
-
|
|
23
|
-
options: languages.FormattingOptions,
|
|
24
|
-
hint: 'full' | 'range' | 'expression' | 'statement',
|
|
25
|
-
token: CancellationToken,
|
|
26
|
-
): Promise<languages.TextEdit[]> {
|
|
27
|
-
if (hint !== 'full') return [];
|
|
28
|
-
const compiled = await this.getCompileResult(model);
|
|
29
|
-
if (compiled?.result.formatted == null) return [];
|
|
30
|
-
return [
|
|
31
|
-
{
|
|
32
|
-
range: model.getFullModelRange(),
|
|
33
|
-
text: compiled.result.formatted,
|
|
34
|
-
},
|
|
35
|
-
];
|
|
38
|
+
/** 进行完整格式化 */
|
|
39
|
+
static async format(model: editor.ITextModel, options?: languages.FormattingOptions): Promise<string | null> {
|
|
40
|
+
const formatted = await format(model, [], options, 'full', undefined);
|
|
41
|
+
return formatted.length === 1 ? formatted[0]!.text : null;
|
|
36
42
|
}
|
|
37
43
|
/** @inheritdoc */
|
|
38
44
|
provideDocumentFormattingEdits(
|
|
@@ -40,7 +46,7 @@ export class FormatterProvider
|
|
|
40
46
|
options: languages.FormattingOptions,
|
|
41
47
|
token: CancellationToken,
|
|
42
48
|
): languages.ProviderResult<languages.TextEdit[]> {
|
|
43
|
-
return
|
|
49
|
+
return format(model, [], options, 'full', token);
|
|
44
50
|
}
|
|
45
51
|
/** @inheritdoc */
|
|
46
52
|
provideDocumentRangeFormattingEdits(
|
|
@@ -49,7 +55,7 @@ export class FormatterProvider
|
|
|
49
55
|
options: languages.FormattingOptions,
|
|
50
56
|
token: CancellationToken,
|
|
51
57
|
): languages.ProviderResult<languages.TextEdit[]> {
|
|
52
|
-
return
|
|
58
|
+
return format(model, [range], options, 'range', token);
|
|
53
59
|
}
|
|
54
60
|
/** @inheritdoc */
|
|
55
61
|
provideDocumentRangesFormattingEdits(
|
|
@@ -58,7 +64,7 @@ export class FormatterProvider
|
|
|
58
64
|
options: languages.FormattingOptions,
|
|
59
65
|
token: CancellationToken,
|
|
60
66
|
): languages.ProviderResult<languages.TextEdit[]> {
|
|
61
|
-
return
|
|
67
|
+
return format(model, ranges, options, 'range', token);
|
|
62
68
|
}
|
|
63
69
|
/** @inheritdoc */
|
|
64
70
|
readonly autoFormatTriggerCharacters = [';', '}', ']', ')'];
|
|
@@ -70,7 +76,7 @@ export class FormatterProvider
|
|
|
70
76
|
options: languages.FormattingOptions,
|
|
71
77
|
token: CancellationToken,
|
|
72
78
|
): languages.ProviderResult<languages.TextEdit[]> {
|
|
73
|
-
return
|
|
79
|
+
return format(
|
|
74
80
|
model,
|
|
75
81
|
[Range.fromPositions(position, position)],
|
|
76
82
|
options,
|
|
@@ -3,6 +3,8 @@ import { Provider } from './base.js';
|
|
|
3
3
|
import { DiagnosticCode } from '@mirascript/bindings/wasm';
|
|
4
4
|
import { codeblock, getDeep, valueDoc, paramsList } from '../utils.js';
|
|
5
5
|
import type { FieldsAccessAt, VariableAccessAt } from '../compile-result.js';
|
|
6
|
+
import { isVmWrapper } from '@mirascript/mirascript';
|
|
7
|
+
import { operations } from '@mirascript/mirascript/subtle';
|
|
6
8
|
|
|
7
9
|
/** @inheritdoc */
|
|
8
10
|
export class HoverProvider extends Provider implements languages.HoverProvider {
|
|
@@ -115,10 +117,17 @@ export class HoverProvider extends Provider implements languages.HoverProvider {
|
|
|
115
117
|
return undefined;
|
|
116
118
|
}
|
|
117
119
|
const vmGlobal = await this.getContext(model);
|
|
118
|
-
const value = getDeep(vmGlobal, def.name, fields);
|
|
119
|
-
if (value == null) return undefined;
|
|
120
120
|
const lastField = fields.pop()!;
|
|
121
|
+
const obj = getDeep(vmGlobal, def.name, fields);
|
|
122
|
+
if (obj == null) return undefined;
|
|
123
|
+
const value = operations.$Get(obj, lastField);
|
|
121
124
|
const { script, doc } = valueDoc(lastField, value, 'field');
|
|
125
|
+
if (isVmWrapper(obj)) {
|
|
126
|
+
const describe = obj.describe(lastField);
|
|
127
|
+
if (describe) {
|
|
128
|
+
doc.unshift(describe);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
122
131
|
return {
|
|
123
132
|
contents: [{ value: codeblock(`\0(field) ${script}`) }, ...doc.map((d) => ({ value: d }))],
|
|
124
133
|
range,
|
package/src/lsp/worker-helper.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { editor } from '../monaco-api.js';
|
|
2
2
|
import type { Ready, CacheKey, Req, Res, ResOk } from './worker.js';
|
|
3
3
|
import { CompileResult } from './compile-result.js';
|
|
4
|
-
import {
|
|
4
|
+
import { makeModelMarkers } from './diagnostics.js';
|
|
5
5
|
|
|
6
6
|
/** 缓存 */
|
|
7
7
|
type CacheValue = {
|
|
@@ -89,7 +89,7 @@ async function compileSync(req: Req): Promise<CompileResult> {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
const USE_WORKER = typeof Worker === 'function';
|
|
92
|
-
/**
|
|
92
|
+
/** 编译并设置缓存 */
|
|
93
93
|
export async function compile(model: editor.ITextModel): Promise<CompileResult> {
|
|
94
94
|
const uri = model.uri.toString();
|
|
95
95
|
const version = model.getVersionId();
|
|
@@ -104,7 +104,13 @@ export async function compile(model: editor.ITextModel): Promise<CompileResult>
|
|
|
104
104
|
const value = model.getValue();
|
|
105
105
|
const req: Req = [cacheKey, version, value, mode];
|
|
106
106
|
const res = USE_WORKER ? compileWorker(req) : compileSync(req);
|
|
107
|
-
void res.then(async (result) =>
|
|
107
|
+
void res.then(async (result) => {
|
|
108
|
+
const setModelMarkers = editor?.setModelMarkers;
|
|
109
|
+
if (typeof setModelMarkers != 'function') return;
|
|
110
|
+
const markers = await makeModelMarkers(model, result);
|
|
111
|
+
if (!markers) return;
|
|
112
|
+
setModelMarkers(model, 'mirascript', markers);
|
|
113
|
+
});
|
|
108
114
|
const item: CacheValue = {
|
|
109
115
|
version,
|
|
110
116
|
lastAccess: Date.now(),
|