monaco-languageclient-examples 6.4.5-next.0
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/CHANGELOG.md +7 -0
- package/License.txt +11 -0
- package/README.md +17 -0
- package/browser.html +16 -0
- package/client.html +16 -0
- package/dist/browser/main.d.ts +2 -0
- package/dist/browser/main.d.ts.map +1 -0
- package/dist/browser/main.js +111 -0
- package/dist/browser/main.js.map +1 -0
- package/dist/common.d.ts +22 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +109 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/json/client/main.d.ts +2 -0
- package/dist/json/client/main.d.ts.map +1 -0
- package/dist/json/client/main.js +19 -0
- package/dist/json/client/main.js.map +1 -0
- package/dist/json/server/json-server.d.ts +36 -0
- package/dist/json/server/json-server.d.ts.map +1 -0
- package/dist/json/server/json-server.js +216 -0
- package/dist/json/server/json-server.js.map +1 -0
- package/dist/json/server/main.d.ts +2 -0
- package/dist/json/server/main.d.ts.map +1 -0
- package/dist/json/server/main.js +64 -0
- package/dist/json/server/main.js.map +1 -0
- package/dist/langium/langiumClient.d.ts +2 -0
- package/dist/langium/langiumClient.d.ts.map +1 -0
- package/dist/langium/langiumClient.js +130 -0
- package/dist/langium/langiumClient.js.map +1 -0
- package/dist/langium/langiumServerWorker.d.ts +2 -0
- package/dist/langium/langiumServerWorker.d.ts.map +1 -0
- package/dist/langium/langiumServerWorker.js +18 -0
- package/dist/langium/langiumServerWorker.js.map +1 -0
- package/dist/langium/statemachineClient.d.ts +2 -0
- package/dist/langium/statemachineClient.d.ts.map +1 -0
- package/dist/langium/statemachineClient.js +140 -0
- package/dist/langium/statemachineClient.js.map +1 -0
- package/dist/node.d.ts +5 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +9 -0
- package/dist/node.js.map +1 -0
- package/dist/python/client.d.ts +3 -0
- package/dist/python/client.d.ts.map +1 -0
- package/dist/python/client.js +157 -0
- package/dist/python/client.js.map +1 -0
- package/dist/python/server.d.ts +2 -0
- package/dist/python/server.d.ts.map +1 -0
- package/dist/python/server.js +105 -0
- package/dist/python/server.js.map +1 -0
- package/dist/react/app.d.ts +10 -0
- package/dist/react/app.d.ts.map +1 -0
- package/dist/react/app.js +45 -0
- package/dist/react/app.js.map +1 -0
- package/dist/react/main.d.ts +2 -0
- package/dist/react/main.d.ts.map +1 -0
- package/dist/react/main.js +14 -0
- package/dist/react/main.js.map +1 -0
- package/dist/utils/fs-utils.d.ts +5 -0
- package/dist/utils/fs-utils.d.ts.map +1 -0
- package/dist/utils/fs-utils.js +14 -0
- package/dist/utils/fs-utils.js.map +1 -0
- package/dist/worker/langiumServerWorker.js +210 -0
- package/dist/worker/statemachineServerWorker.js +534 -0
- package/langium_client.html +17 -0
- package/package.json +96 -0
- package/python.html +16 -0
- package/react.html +16 -0
- package/src/browser/main.ts +131 -0
- package/src/common.ts +130 -0
- package/src/index.ts +13 -0
- package/src/json/client/main.ts +22 -0
- package/src/json/server/json-server.ts +265 -0
- package/src/json/server/main.ts +68 -0
- package/src/langium/example.langium +215 -0
- package/src/langium/example.statemachine +26 -0
- package/src/langium/langium.configuration.json +164 -0
- package/src/langium/langium.tmLanguage.json +290 -0
- package/src/langium/langiumClient.ts +146 -0
- package/src/langium/langiumServerWorker.ts +21 -0
- package/src/langium/statemachineClient.ts +151 -0
- package/src/node.ts +9 -0
- package/src/python/client.ts +170 -0
- package/src/python/server.ts +114 -0
- package/src/react/app.tsx +73 -0
- package/src/react/main.tsx +19 -0
- package/src/utils/fs-utils.ts +14 -0
- package/statemachine_client.html +16 -0
- package/vite.statemachine-worker.ts +17 -0
package/CHANGELOG.md
ADDED
package/License.txt
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright (c) 2018-2023 TypeFox GmbH (http://www.typefox.io)
|
|
2
|
+
|
|
3
|
+
All rights reserved.
|
|
4
|
+
|
|
5
|
+
MIT License
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
|
|
9
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Monaco Language Client Examples
|
|
2
|
+
|
|
3
|
+
[](https://gitpod.io#https://github.com/TypeFox/monaco-languageclient)
|
|
4
|
+
[](https://github.com/TypeFox/monaco-languageclient/labels/help%20wanted)
|
|
5
|
+
[](https://github.com/TypeFox/monaco-languageclient/actions/workflows/actions.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/monaco-languageclient-examples)
|
|
7
|
+
[](https://www.npmjs.com/package/monaco-languageclient-examples)
|
|
8
|
+
|
|
9
|
+
This package contains [all examples from the monaco-languageclient repository](https://github.com/TypeFox/monaco-languageclient/blob/main/README.md#examples).
|
|
10
|
+
|
|
11
|
+
## CHANGELOG
|
|
12
|
+
|
|
13
|
+
All changes are noted in the [CHANGELOG](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/examples/main/CHANGELOG.md).
|
|
14
|
+
|
|
15
|
+
## License
|
|
16
|
+
|
|
17
|
+
[MIT](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/examples/main/License.txt)
|
package/browser.html
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<title>Monaco Language Client Browser Sample</title>
|
|
6
|
+
<meta charset="UTF-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
</head>
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<h2>Monaco Language Client Browser Sample</h2>
|
|
13
|
+
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
|
14
|
+
<script type="module" src="./src/browser/main.ts"></script>
|
|
15
|
+
</body>
|
|
16
|
+
</html>
|
package/client.html
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<title>Monaco Language Client Node.js Sample</title>
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
</head>
|
|
9
|
+
|
|
10
|
+
<body>
|
|
11
|
+
<h2>Monaco Language Client Node.js Sample</h2>
|
|
12
|
+
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
|
13
|
+
<script type="module" src="./src/json/client/main.ts"></script>
|
|
14
|
+
</body>
|
|
15
|
+
|
|
16
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { languages, workspace } from 'vscode';
|
|
6
|
+
import { getLanguageService, TextDocument } from 'vscode-json-languageservice';
|
|
7
|
+
import { createConverter as createCodeConverter } from 'vscode-languageclient/lib/common/codeConverter.js';
|
|
8
|
+
import { createConverter as createProtocolConverter } from 'vscode-languageclient/lib/common/protocolConverter.js';
|
|
9
|
+
import { createDefaultJsonContent, createJsonEditor, performInit } from '../common.js';
|
|
10
|
+
import { buildWorkerDefinition } from 'monaco-editor-workers';
|
|
11
|
+
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
|
|
12
|
+
const codeConverter = createCodeConverter();
|
|
13
|
+
const protocolConverter = createProtocolConverter(undefined, true, true);
|
|
14
|
+
const createEditor = async () => {
|
|
15
|
+
let mainVscodeDocument;
|
|
16
|
+
const languageId = 'json';
|
|
17
|
+
await performInit(true);
|
|
18
|
+
workspace.onDidOpenTextDocument((_event) => {
|
|
19
|
+
mainVscodeDocument = workspace.textDocuments[0];
|
|
20
|
+
});
|
|
21
|
+
const jsonEditor = await createJsonEditor({
|
|
22
|
+
htmlElement: document.getElementById('container'),
|
|
23
|
+
content: createDefaultJsonContent()
|
|
24
|
+
});
|
|
25
|
+
const createDocument = (vscodeDocument) => {
|
|
26
|
+
return TextDocument.create(vscodeDocument.uri.toString(), vscodeDocument.languageId, vscodeDocument.version, vscodeDocument.getText());
|
|
27
|
+
};
|
|
28
|
+
const resolveSchema = (url) => {
|
|
29
|
+
const promise = new Promise((resolve, reject) => {
|
|
30
|
+
const xhr = new XMLHttpRequest();
|
|
31
|
+
xhr.onload = () => resolve(xhr.responseText);
|
|
32
|
+
xhr.onerror = () => reject(xhr.statusText);
|
|
33
|
+
xhr.open('GET', url, true);
|
|
34
|
+
xhr.send();
|
|
35
|
+
});
|
|
36
|
+
return promise;
|
|
37
|
+
};
|
|
38
|
+
const jsonService = getLanguageService({
|
|
39
|
+
schemaRequestService: resolveSchema
|
|
40
|
+
});
|
|
41
|
+
const pendingValidationRequests = new Map();
|
|
42
|
+
languages.registerCompletionItemProvider(languageId, {
|
|
43
|
+
async provideCompletionItems(vscodeDocument, position, _token, _context) {
|
|
44
|
+
const document = createDocument(vscodeDocument);
|
|
45
|
+
const jsonDocument = jsonService.parseJSONDocument(document);
|
|
46
|
+
const completionList = await jsonService.doComplete(document, codeConverter.asPosition(position), jsonDocument);
|
|
47
|
+
return protocolConverter.asCompletionResult(completionList);
|
|
48
|
+
},
|
|
49
|
+
resolveCompletionItem(item, _token) {
|
|
50
|
+
return jsonService.doResolve(codeConverter.asCompletionItem(item)).then(result => protocolConverter.asCompletionItem(result));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
languages.registerDocumentRangeFormattingEditProvider(languageId, {
|
|
54
|
+
provideDocumentRangeFormattingEdits(vscodeDocument, range, options, _token) {
|
|
55
|
+
const document = createDocument(vscodeDocument);
|
|
56
|
+
const edits = jsonService.format(document, codeConverter.asRange(range), codeConverter.asFormattingOptions(options, {}));
|
|
57
|
+
return protocolConverter.asTextEdits(edits);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
languages.registerDocumentSymbolProvider(languageId, {
|
|
61
|
+
provideDocumentSymbols(vscodeDocument, _token) {
|
|
62
|
+
const document = createDocument(vscodeDocument);
|
|
63
|
+
const jsonDocument = jsonService.parseJSONDocument(document);
|
|
64
|
+
return protocolConverter.asSymbolInformations(jsonService.findDocumentSymbols(document, jsonDocument));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
languages.registerHoverProvider(languageId, {
|
|
68
|
+
provideHover(vscodeDocument, position, _token) {
|
|
69
|
+
const document = createDocument(vscodeDocument);
|
|
70
|
+
const jsonDocument = jsonService.parseJSONDocument(document);
|
|
71
|
+
return jsonService.doHover(document, codeConverter.asPosition(position), jsonDocument).then((hover) => {
|
|
72
|
+
return protocolConverter.asHover(hover);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const validate = () => {
|
|
77
|
+
const document = createDocument(mainVscodeDocument);
|
|
78
|
+
cleanPendingValidation(document);
|
|
79
|
+
pendingValidationRequests.set(document.uri, window.setTimeout(() => {
|
|
80
|
+
pendingValidationRequests.delete(document.uri);
|
|
81
|
+
doValidate(document);
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
84
|
+
const cleanPendingValidation = (document) => {
|
|
85
|
+
const request = pendingValidationRequests.get(document.uri);
|
|
86
|
+
if (request !== undefined) {
|
|
87
|
+
window.clearTimeout(request);
|
|
88
|
+
pendingValidationRequests.delete(document.uri);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const diagnosticCollection = languages.createDiagnosticCollection('json');
|
|
92
|
+
const doValidate = (document) => {
|
|
93
|
+
if (document.getText().length === 0) {
|
|
94
|
+
cleanDiagnostics();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const jsonDocument = jsonService.parseJSONDocument(document);
|
|
98
|
+
jsonService.doValidation(document, jsonDocument).then(async (pDiagnostics) => {
|
|
99
|
+
const diagnostics = await protocolConverter.asDiagnostics(pDiagnostics);
|
|
100
|
+
diagnosticCollection.set(jsonEditor.uri, diagnostics);
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
const cleanDiagnostics = () => {
|
|
104
|
+
diagnosticCollection.clear();
|
|
105
|
+
};
|
|
106
|
+
jsonEditor.modelRef.object.textEditorModel.onDidChangeContent(() => {
|
|
107
|
+
validate();
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
createEditor();
|
|
111
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAsC,MAAM,QAAQ,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC3G,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,qBAAqB,CAAC,2DAA2D,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAElI,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;AAC5C,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IAC5B,IAAI,kBAAkD,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAC;IAE1B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAExB,SAAS,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,EAAE;QACvC,kBAAkB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;QACtC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAE;QAClD,OAAO,EAAE,wBAAwB,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,CAAC,cAAkC,EAAE,EAAE;QAC1D,OAAO,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3I,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAmB,EAAE;QACnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACnC,oBAAoB,EAAE,aAAa;KACtC,CAAC,CAAC;IACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5D,SAAS,CAAC,8BAA8B,CAAC,UAAU,EAAE;QACjD,KAAK,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;YACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;YAChH,OAAO,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,qBAAqB,CAAC,IAAI,EAAE,MAAM;YAC9B,OAAO,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClI,CAAC;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,2CAA2C,CAAC,UAAU,EAAE;QAC9D,mCAAmC,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;YACtE,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACzH,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,8BAA8B,CAAC,UAAU,EAAE;QACjD,sBAAsB,CAAC,cAAc,EAAE,MAAM;YACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO,iBAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3G,CAAC;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE;QACxC,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM;YACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClG,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,kBAAmB,CAAC,CAAC;QACrD,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACjC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/D,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,QAAsB,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7B,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAClD;IACL,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,SAAS,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,CAAC,QAAsB,EAAE,EAAE;QAC1C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,gBAAgB,EAAE,CAAC;YACnB,OAAO;SACV;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7D,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YACzE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACxE,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE;QAChE,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,YAAY,EAAE,CAAC"}
|
package/dist/common.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { editor, Uri } from 'monaco-editor';
|
|
2
|
+
import { IReference, ITextFileEditorModel } from 'vscode/monaco';
|
|
3
|
+
import 'vscode/default-extensions/theme-defaults';
|
|
4
|
+
import 'vscode/default-extensions/json';
|
|
5
|
+
import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
6
|
+
import { MessageTransports } from 'vscode-languageclient';
|
|
7
|
+
export declare const createLanguageClient: (transports: MessageTransports) => MonacoLanguageClient;
|
|
8
|
+
export declare const createUrl: (hostname: string, port: number, path: string, searchParams?: Record<string, any>, secure?: boolean) => string;
|
|
9
|
+
export declare const createWebSocketAndStartClient: (url: string) => WebSocket;
|
|
10
|
+
export declare const createDefaultJsonContent: () => string;
|
|
11
|
+
export type ExampleJsonEditor = {
|
|
12
|
+
languageId: string;
|
|
13
|
+
editor: editor.IStandaloneCodeEditor;
|
|
14
|
+
uri: Uri;
|
|
15
|
+
modelRef: IReference<ITextFileEditorModel>;
|
|
16
|
+
};
|
|
17
|
+
export declare const performInit: (vscodeApiInit: boolean) => Promise<void>;
|
|
18
|
+
export declare const createJsonEditor: (config: {
|
|
19
|
+
htmlElement: HTMLElement;
|
|
20
|
+
content: string;
|
|
21
|
+
}) => Promise<ExampleJsonEditor>;
|
|
22
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAa,GAAG,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAgD,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,0CAA0C,CAAC;AAClD,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAgB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAA4B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,eAAO,MAAM,oBAAoB,eAAgB,iBAAiB,KAAG,oBAmBpE,CAAC;AACF,eAAO,MAAM,SAAS,aAAc,MAAM,QAAQ,MAAM,QAAQ,MAAM,iBAAgB,OAAO,MAAM,EAAE,GAAG,CAAC,WAAe,OAAO,KAAoC,MAclK,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAAS,MAAM,KAAG,SAc3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,MAK3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;CAC9C,CAAA;AAED,eAAO,MAAM,WAAW,kBAAyB,OAAO,kBAuBvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAkB;IAC3C,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAA;CAClB,+BAsBA,CAAC"}
|
package/dist/common.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { languages, Uri } from 'monaco-editor';
|
|
6
|
+
import { createConfiguredEditor, createModelReference } from 'vscode/monaco';
|
|
7
|
+
import 'vscode/default-extensions/theme-defaults';
|
|
8
|
+
import 'vscode/default-extensions/json';
|
|
9
|
+
import { initServices, MonacoLanguageClient } from 'monaco-languageclient';
|
|
10
|
+
import { CloseAction, ErrorAction } from 'vscode-languageclient';
|
|
11
|
+
import { WebSocketMessageReader, WebSocketMessageWriter, toSocket } from 'vscode-ws-jsonrpc';
|
|
12
|
+
export const createLanguageClient = (transports) => {
|
|
13
|
+
return new MonacoLanguageClient({
|
|
14
|
+
name: 'Sample Language Client',
|
|
15
|
+
clientOptions: {
|
|
16
|
+
// use a language id as a document selector
|
|
17
|
+
documentSelector: ['json'],
|
|
18
|
+
// disable the default error handler
|
|
19
|
+
errorHandler: {
|
|
20
|
+
error: () => ({ action: ErrorAction.Continue }),
|
|
21
|
+
closed: () => ({ action: CloseAction.DoNotRestart })
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
// create a language client connection from the JSON RPC connection on demand
|
|
25
|
+
connectionProvider: {
|
|
26
|
+
get: () => {
|
|
27
|
+
return Promise.resolve(transports);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export const createUrl = (hostname, port, path, searchParams = {}, secure = location.protocol === 'https:') => {
|
|
33
|
+
const protocol = secure ? 'wss' : 'ws';
|
|
34
|
+
const url = new URL(`${protocol}://${hostname}:${port}${path}`);
|
|
35
|
+
for (let [key, value] of Object.entries(searchParams)) {
|
|
36
|
+
if (value instanceof Array) {
|
|
37
|
+
value = value.join(',');
|
|
38
|
+
}
|
|
39
|
+
if (value) {
|
|
40
|
+
url.searchParams.set(key, value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return url.toString();
|
|
44
|
+
};
|
|
45
|
+
export const createWebSocketAndStartClient = (url) => {
|
|
46
|
+
const webSocket = new WebSocket(url);
|
|
47
|
+
webSocket.onopen = () => {
|
|
48
|
+
const socket = toSocket(webSocket);
|
|
49
|
+
const reader = new WebSocketMessageReader(socket);
|
|
50
|
+
const writer = new WebSocketMessageWriter(socket);
|
|
51
|
+
const languageClient = createLanguageClient({
|
|
52
|
+
reader,
|
|
53
|
+
writer
|
|
54
|
+
});
|
|
55
|
+
languageClient.start();
|
|
56
|
+
reader.onClose(() => languageClient.stop());
|
|
57
|
+
};
|
|
58
|
+
return webSocket;
|
|
59
|
+
};
|
|
60
|
+
export const createDefaultJsonContent = () => {
|
|
61
|
+
return `{
|
|
62
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
63
|
+
"line_endings": "unix"
|
|
64
|
+
} `;
|
|
65
|
+
};
|
|
66
|
+
export const performInit = async (vscodeApiInit) => {
|
|
67
|
+
if (vscodeApiInit === true) {
|
|
68
|
+
await initServices({
|
|
69
|
+
enableThemeService: true,
|
|
70
|
+
enableTextmateService: true,
|
|
71
|
+
enableModelService: true,
|
|
72
|
+
configureEditorOrViewsService: {},
|
|
73
|
+
enableKeybindingsService: true,
|
|
74
|
+
enableLanguagesService: true,
|
|
75
|
+
enableOutputService: true,
|
|
76
|
+
enableAccessibilityService: true,
|
|
77
|
+
debugLogging: false
|
|
78
|
+
});
|
|
79
|
+
// register the JSON language with Monaco
|
|
80
|
+
languages.register({
|
|
81
|
+
id: 'json',
|
|
82
|
+
extensions: ['.json', '.jsonc'],
|
|
83
|
+
aliases: ['JSON', 'json'],
|
|
84
|
+
mimetypes: ['application/json']
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
export const createJsonEditor = async (config) => {
|
|
89
|
+
// create the model
|
|
90
|
+
const uri = Uri.parse('/tmp/model.json');
|
|
91
|
+
const modelRef = await createModelReference(uri, config.content);
|
|
92
|
+
modelRef.object.setLanguageId('json');
|
|
93
|
+
// create monaco editor
|
|
94
|
+
const editor = createConfiguredEditor(config.htmlElement, {
|
|
95
|
+
model: modelRef.object.textEditorModel,
|
|
96
|
+
glyphMargin: true,
|
|
97
|
+
lightbulb: {
|
|
98
|
+
enabled: true
|
|
99
|
+
},
|
|
100
|
+
automaticLayout: true
|
|
101
|
+
});
|
|
102
|
+
const result = {
|
|
103
|
+
editor,
|
|
104
|
+
uri,
|
|
105
|
+
modelRef
|
|
106
|
+
};
|
|
107
|
+
return Promise.resolve(result);
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './common.js';
|
|
2
|
+
export * from './browser/main.js';
|
|
3
|
+
export * from './json/client/main.js';
|
|
4
|
+
export * from './langium/langiumClient.js';
|
|
5
|
+
export * from './langium/statemachineClient.js';
|
|
6
|
+
export * from './python/client.js';
|
|
7
|
+
export * from './react/app.js';
|
|
8
|
+
export * from './react/main.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
export * from './common.js';
|
|
6
|
+
export * from './browser/main.js';
|
|
7
|
+
export * from './json/client/main.js';
|
|
8
|
+
export * from './langium/langiumClient.js';
|
|
9
|
+
export * from './langium/statemachineClient.js';
|
|
10
|
+
export * from './python/client.js';
|
|
11
|
+
export * from './react/app.js';
|
|
12
|
+
export * from './react/main.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/json/client/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { createDefaultJsonContent, createJsonEditor, createUrl, createWebSocketAndStartClient, performInit } from '../../common.js';
|
|
6
|
+
import { buildWorkerDefinition } from 'monaco-editor-workers';
|
|
7
|
+
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
|
|
8
|
+
const start = async () => {
|
|
9
|
+
// use the same common method to create a monaco editor for json
|
|
10
|
+
await performInit(true);
|
|
11
|
+
await createJsonEditor({
|
|
12
|
+
htmlElement: document.getElementById('container'),
|
|
13
|
+
content: createDefaultJsonContent()
|
|
14
|
+
});
|
|
15
|
+
const url = createUrl('localhost', 3000, '/sampleServer');
|
|
16
|
+
createWebSocketAndStartClient(url);
|
|
17
|
+
};
|
|
18
|
+
start();
|
|
19
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/json/client/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,qBAAqB,CAAC,2DAA2D,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAElI,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IACrB,gEAAgE;IAChE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,gBAAgB,CAAC;QACnB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAE;QAClD,OAAO,EAAE,wBAAwB,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1D,6BAA6B,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import URI from 'vscode-uri';
|
|
3
|
+
import { MessageReader, MessageWriter } from 'vscode-jsonrpc';
|
|
4
|
+
import { _Connection, TextDocuments, DocumentSymbolParams } from 'vscode-languageserver/lib/node/main.js';
|
|
5
|
+
import { Diagnostic, Command, CompletionList, CompletionItem, Hover, SymbolInformation, TextEdit, FoldingRange, ColorInformation, ColorPresentation } from 'vscode-languageserver-types';
|
|
6
|
+
import { TextDocumentPositionParams, DocumentRangeFormattingParams, ExecuteCommandParams, CodeActionParams, FoldingRangeParams, DocumentColorParams, ColorPresentationParams } from 'vscode-languageserver-protocol';
|
|
7
|
+
import { LanguageService, JSONDocument } from 'vscode-json-languageservice';
|
|
8
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
9
|
+
export declare function start(reader: MessageReader, writer: MessageWriter): JsonServer;
|
|
10
|
+
export declare class JsonServer {
|
|
11
|
+
protected readonly connection: _Connection;
|
|
12
|
+
protected workspaceRoot: URI.URI | undefined;
|
|
13
|
+
protected readonly documents: TextDocuments<TextDocument>;
|
|
14
|
+
protected readonly jsonService: LanguageService;
|
|
15
|
+
protected readonly pendingValidationRequests: Map<string, NodeJS.Timeout>;
|
|
16
|
+
constructor(connection: _Connection);
|
|
17
|
+
start(): void;
|
|
18
|
+
protected getFoldingRanges(params: FoldingRangeParams): FoldingRange[];
|
|
19
|
+
protected findDocumentColors(params: DocumentColorParams): Thenable<ColorInformation[]>;
|
|
20
|
+
protected getColorPresentations(params: ColorPresentationParams): ColorPresentation[];
|
|
21
|
+
protected codeAction(params: CodeActionParams): Command[];
|
|
22
|
+
protected format(params: DocumentRangeFormattingParams): TextEdit[];
|
|
23
|
+
protected findDocumentSymbols(params: DocumentSymbolParams): SymbolInformation[];
|
|
24
|
+
protected executeCommand(params: ExecuteCommandParams): any;
|
|
25
|
+
protected hover(params: TextDocumentPositionParams): Thenable<Hover | null>;
|
|
26
|
+
protected resolveSchema(url: string): Promise<string>;
|
|
27
|
+
protected resolveCompletion(item: CompletionItem): Thenable<CompletionItem>;
|
|
28
|
+
protected completion(params: TextDocumentPositionParams): Thenable<CompletionList | null>;
|
|
29
|
+
protected validate(document: TextDocument): void;
|
|
30
|
+
protected cleanPendingValidation(document: TextDocument): void;
|
|
31
|
+
protected doValidate(document: TextDocument): void;
|
|
32
|
+
protected cleanDiagnostics(document: TextDocument): void;
|
|
33
|
+
protected sendDiagnostics(document: TextDocument, diagnostics: Diagnostic[]): void;
|
|
34
|
+
protected getJSONDocument(document: TextDocument): JSONDocument;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=json-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-server.d.ts","sourceRoot":"","sources":["../../../src/json/server/json-server.ts"],"names":[],"mappings":";AAMA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAoB,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EACH,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAC1D,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EACjF,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAwB,MAAM,gCAAgC,CAAC;AAC3O,OAAO,EAAsB,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,wBAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,UAAU,CAK9E;AAED,qBAAa,UAAU;IAWP,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW;IAVtD,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,SAAS,8BAAmC;IAE/D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAE5C;IAEH,SAAS,CAAC,QAAQ,CAAC,yBAAyB,8BAAqC;gBAElD,UAAU,EAAE,WAAW;IAoEtD,KAAK;IAIL,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAQtE,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IASvF,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,EAAE;IASrF,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAgBzD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,QAAQ,EAAE;IAKnE,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,iBAAiB,EAAE;IAShF,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,GAAG;IAqB3D,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;cAS3D,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB3D,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAI3E,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,0BAA0B,GAAG,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;IASzF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQhD,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQ9D,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAWlD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIxD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAMlF,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY;CAGlE"}
|