aurora-langium 0.0.21 → 0.1.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.
Files changed (98) hide show
  1. package/dist/cjs/src/cli/cli-util.js +71 -0
  2. package/dist/cjs/src/cli/cli-util.js.map +1 -0
  3. package/dist/cjs/src/cli/generator.js +46 -0
  4. package/dist/cjs/src/cli/generator.js.map +1 -0
  5. package/dist/cjs/src/cli/main.js +74 -0
  6. package/dist/cjs/src/cli/main.js.map +1 -0
  7. package/dist/cjs/src/extension/main.js +123 -0
  8. package/dist/cjs/src/extension/main.js.map +1 -0
  9. package/dist/cjs/src/extension/src/parser/parser.js +17 -0
  10. package/dist/cjs/src/extension/src/parser/parser.js.map +1 -0
  11. package/dist/cjs/src/language/aurora-diagram-generator.js +150 -0
  12. package/dist/cjs/src/language/aurora-diagram-generator.js.map +1 -0
  13. package/dist/cjs/src/language/aurora-module.js +55 -0
  14. package/dist/cjs/src/language/aurora-module.js.map +1 -0
  15. package/dist/cjs/src/language/aurora-scope.js +54 -0
  16. package/dist/cjs/src/language/aurora-scope.js.map +1 -0
  17. package/dist/cjs/src/language/aurora-validator.js +30 -0
  18. package/dist/cjs/src/language/aurora-validator.js.map +1 -0
  19. package/dist/cjs/src/language/generated/ast.js +408 -0
  20. package/dist/cjs/src/language/generated/ast.js.map +1 -0
  21. package/dist/cjs/src/language/generated/grammar.js +2440 -0
  22. package/dist/{language → cjs/src/language}/generated/grammar.js.map +1 -1
  23. package/dist/cjs/src/language/generated/module.js +23 -0
  24. package/dist/cjs/src/language/generated/module.js.map +1 -0
  25. package/dist/cjs/src/language/main.js +35 -0
  26. package/dist/cjs/src/language/main.js.map +1 -0
  27. package/dist/cjs/test/linking/linking.test.js +46 -0
  28. package/dist/cjs/test/linking/linking.test.js.map +1 -0
  29. package/dist/cjs/test/parsing/custom-parsing.test.js +26 -0
  30. package/dist/cjs/test/parsing/custom-parsing.test.js.map +1 -0
  31. package/dist/cjs/test/validating/validating.test.js +54 -0
  32. package/dist/cjs/test/validating/validating.test.js.map +1 -0
  33. package/dist/esm/src/cli/cli-util.js.map +1 -0
  34. package/dist/esm/src/cli/generator.js.map +1 -0
  35. package/dist/{cli → esm/src/cli}/main.js +12 -5
  36. package/dist/esm/src/cli/main.js.map +1 -0
  37. package/dist/esm/src/extension/main.js.map +1 -0
  38. package/dist/esm/src/extension/src/parser/parser.js.map +1 -0
  39. package/dist/esm/src/language/aurora-diagram-generator.js.map +1 -0
  40. package/dist/esm/src/language/aurora-module.js.map +1 -0
  41. package/dist/esm/src/language/aurora-scope.js.map +1 -0
  42. package/dist/esm/src/language/aurora-validator.js.map +1 -0
  43. package/dist/esm/src/language/generated/ast.js.map +1 -0
  44. package/dist/esm/src/language/generated/grammar.js.map +1 -0
  45. package/dist/esm/src/language/generated/module.js.map +1 -0
  46. package/dist/esm/src/language/main.js.map +1 -0
  47. package/dist/esm/test/linking/linking.test.js +44 -0
  48. package/dist/esm/test/linking/linking.test.js.map +1 -0
  49. package/dist/esm/test/parsing/custom-parsing.test.js +24 -0
  50. package/dist/esm/test/parsing/custom-parsing.test.js.map +1 -0
  51. package/dist/esm/test/validating/validating.test.js +52 -0
  52. package/dist/esm/test/validating/validating.test.js.map +1 -0
  53. package/dist/{cli → types/src/cli}/main.d.ts +0 -1
  54. package/dist/types/test/linking/linking.test.d.ts +1 -0
  55. package/dist/types/test/parsing/custom-parsing.test.d.ts +1 -0
  56. package/dist/types/test/validating/validating.test.d.ts +1 -0
  57. package/package.json +8 -16
  58. package/src/cli/main.ts +15 -5
  59. package/dist/cli/cli-util.js.map +0 -1
  60. package/dist/cli/generator.js.map +0 -1
  61. package/dist/cli/main.js.map +0 -1
  62. package/dist/extension/main.js.map +0 -1
  63. package/dist/extension/src/parser/parser.js.map +0 -1
  64. package/dist/language/aurora-diagram-generator.js.map +0 -1
  65. package/dist/language/aurora-module.js.map +0 -1
  66. package/dist/language/aurora-scope.js.map +0 -1
  67. package/dist/language/aurora-validator.js.map +0 -1
  68. package/dist/language/generated/ast.js.map +0 -1
  69. package/dist/language/generated/module.js.map +0 -1
  70. package/dist/language/main.js.map +0 -1
  71. package/out/extension/main.cjs +0 -20945
  72. package/out/extension/main.cjs.map +0 -7
  73. package/out/language/main.cjs +0 -35137
  74. package/out/language/main.cjs.map +0 -7
  75. /package/dist/{cli → esm/src/cli}/cli-util.js +0 -0
  76. /package/dist/{cli → esm/src/cli}/generator.js +0 -0
  77. /package/dist/{extension → esm/src/extension}/main.js +0 -0
  78. /package/dist/{extension → esm/src/extension}/src/parser/parser.js +0 -0
  79. /package/dist/{language → esm/src/language}/aurora-diagram-generator.js +0 -0
  80. /package/dist/{language → esm/src/language}/aurora-module.js +0 -0
  81. /package/dist/{language → esm/src/language}/aurora-scope.js +0 -0
  82. /package/dist/{language → esm/src/language}/aurora-validator.js +0 -0
  83. /package/dist/{language → esm/src/language}/generated/ast.js +0 -0
  84. /package/dist/{language → esm/src/language}/generated/grammar.js +0 -0
  85. /package/dist/{language → esm/src/language}/generated/module.js +0 -0
  86. /package/dist/{language → esm/src/language}/main.js +0 -0
  87. /package/dist/{cli → types/src/cli}/cli-util.d.ts +0 -0
  88. /package/dist/{cli → types/src/cli}/generator.d.ts +0 -0
  89. /package/dist/{extension → types/src/extension}/main.d.ts +0 -0
  90. /package/dist/{extension → types/src/extension}/src/parser/parser.d.ts +0 -0
  91. /package/dist/{language → types/src/language}/aurora-diagram-generator.d.ts +0 -0
  92. /package/dist/{language → types/src/language}/aurora-module.d.ts +0 -0
  93. /package/dist/{language → types/src/language}/aurora-scope.d.ts +0 -0
  94. /package/dist/{language → types/src/language}/aurora-validator.d.ts +0 -0
  95. /package/dist/{language → types/src/language}/generated/ast.d.ts +0 -0
  96. /package/dist/{language → types/src/language}/generated/grammar.d.ts +0 -0
  97. /package/dist/{language → types/src/language}/generated/module.d.ts +0 -0
  98. /package/dist/{language → types/src/language}/main.d.ts +0 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.extractDestinationAndName = exports.extractAstNode = exports.extractDocument = void 0;
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const path = __importStar(require("node:path"));
32
+ const fs = __importStar(require("node:fs"));
33
+ const langium_1 = require("langium");
34
+ async function extractDocument(fileName, services) {
35
+ var _a;
36
+ const extensions = services.LanguageMetaData.fileExtensions;
37
+ if (!extensions.includes(path.extname(fileName))) {
38
+ console.error(chalk_1.default.yellow(`Please choose a file with one of these extensions: ${extensions}.`));
39
+ process.exit(1);
40
+ }
41
+ if (!fs.existsSync(fileName)) {
42
+ console.error(chalk_1.default.red(`File ${fileName} does not exist.`));
43
+ process.exit(1);
44
+ }
45
+ const document = await services.shared.workspace.LangiumDocuments.getOrCreateDocument(langium_1.URI.file(path.resolve(fileName)));
46
+ await services.shared.workspace.DocumentBuilder.build([document], { validation: true });
47
+ const validationErrors = ((_a = document.diagnostics) !== null && _a !== void 0 ? _a : []).filter(e => e.severity === 1);
48
+ if (validationErrors.length > 0) {
49
+ console.error(chalk_1.default.red('There are validation errors:'));
50
+ for (const validationError of validationErrors) {
51
+ console.error(chalk_1.default.red(`line ${validationError.range.start.line + 1}: ${validationError.message} [${document.textDocument.getText(validationError.range)}]`));
52
+ }
53
+ process.exit(1);
54
+ }
55
+ return document;
56
+ }
57
+ exports.extractDocument = extractDocument;
58
+ async function extractAstNode(fileName, services) {
59
+ var _a;
60
+ return (_a = (await extractDocument(fileName, services)).parseResult) === null || _a === void 0 ? void 0 : _a.value;
61
+ }
62
+ exports.extractAstNode = extractAstNode;
63
+ function extractDestinationAndName(filePath, destination) {
64
+ filePath = path.basename(filePath, path.extname(filePath)).replace(/[.-]/g, '');
65
+ return {
66
+ destination: destination !== null && destination !== void 0 ? destination : path.join(path.dirname(filePath), 'generated'),
67
+ name: path.basename(filePath)
68
+ };
69
+ }
70
+ exports.extractDestinationAndName = extractDestinationAndName;
71
+ //# sourceMappingURL=cli-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../../../src/cli/cli-util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,gDAAkC;AAClC,4CAA8B;AAC9B,qCAA8B;AAEvB,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,QAA6B;;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,sDAAsD,UAAU,GAAG,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,QAAQ,kBAAkB,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAExF,MAAM,gBAAgB,GAAG,CAAC,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IACpF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CACnB,QAAQ,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CACvI,CAAC,CAAC;SACN;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AA3BD,0CA2BC;AAEM,KAAK,UAAU,cAAc,CAAoB,QAAgB,EAAE,QAA6B;;IACnG,OAAO,MAAA,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,0CAAE,KAAU,CAAC;AAC/E,CAAC;AAFD,wCAEC;AAOD,SAAgB,yBAAyB,CAAC,QAAgB,EAAE,WAA+B;IACvF,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO;QACH,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;QAC1E,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAChC,CAAC;AACN,CAAC;AAND,8DAMC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.generateJavaScript = void 0;
27
+ const generate_1 = require("langium/generate");
28
+ const fs = __importStar(require("node:fs"));
29
+ const path = __importStar(require("node:path"));
30
+ const cli_util_js_1 = require("./cli-util.js");
31
+ function generateJavaScript(model, filePath, destination) {
32
+ const data = (0, cli_util_js_1.extractDestinationAndName)(filePath, destination);
33
+ const generatedFilePath = `${path.join(data.destination, data.name)}.js`;
34
+ const fileNode = (0, generate_1.expandToNode) `
35
+ "use strict";
36
+
37
+ ${(0, generate_1.joinToNode)(model.imports, greeting => `console.log('Hello, ${greeting.importedNamespace}!');`, { appendNewLineIfNotEmpty: true })}
38
+ `.appendNewLineIfNotEmpty();
39
+ if (!fs.existsSync(data.destination)) {
40
+ fs.mkdirSync(data.destination, { recursive: true });
41
+ }
42
+ fs.writeFileSync(generatedFilePath, (0, generate_1.toString)(fileNode));
43
+ return generatedFilePath;
44
+ }
45
+ exports.generateJavaScript = generateJavaScript;
46
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/cli/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAsE;AACtE,4CAA8B;AAC9B,gDAAkC;AAClC,+CAA0D;AAE1D,SAAgB,kBAAkB,CAAC,KAAU,EAAE,QAAgB,EAAE,WAA+B;IAC5F,MAAM,IAAI,GAAG,IAAA,uCAAyB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEzE,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAA;;;UAGvB,IAAA,qBAAU,EAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,uBAAuB,QAAQ,CAAC,iBAAiB,MAAM,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;KACtI,CAAC,uBAAuB,EAAE,CAAC;IAE5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IACD,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAfD,gDAeC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.generateAction = exports.getAuroraServices = void 0;
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const commander_1 = require("commander");
32
+ const module_js_1 = require("../language/generated/module.js");
33
+ const aurora_module_js_1 = require("../language/aurora-module.js");
34
+ const cli_util_js_1 = require("./cli-util.js");
35
+ const generator_js_1 = require("./generator.js");
36
+ const node_1 = require("langium/node");
37
+ const fs = __importStar(require("node:fs/promises"));
38
+ const path = __importStar(require("node:path"));
39
+ const __dirname = path.resolve();
40
+ const packagePath = path.resolve(__dirname, '..', '..', 'package.json');
41
+ async function loadPackageContent() {
42
+ const packageContent = await fs.readFile(packagePath, 'utf-8');
43
+ return JSON.parse(packageContent);
44
+ }
45
+ const getAuroraServices = async () => {
46
+ const services = await Promise.resolve((0, aurora_module_js_1.createAuroraServices)(node_1.NodeFileSystem));
47
+ return services;
48
+ };
49
+ exports.getAuroraServices = getAuroraServices;
50
+ const generateAction = async (fileName, opts) => {
51
+ const services = (0, aurora_module_js_1.createAuroraServices)(node_1.NodeFileSystem).Aurora;
52
+ const PCM = await (0, cli_util_js_1.extractAstNode)(fileName, services);
53
+ const generatedFilePath = (0, generator_js_1.generateJavaScript)(PCM, fileName, opts.destination);
54
+ console.log(chalk_1.default.green(`JavaScript code generated successfully: ${generatedFilePath}`));
55
+ };
56
+ exports.generateAction = generateAction;
57
+ async function main() {
58
+ const program = new commander_1.Command();
59
+ const packageContent = await loadPackageContent();
60
+ program.version(packageContent.version);
61
+ const fileExtensions = module_js_1.AuroraLanguageMetaData.fileExtensions.join(', ');
62
+ program
63
+ .command('generate')
64
+ .argument('<file>', `source file (possible file extensions: ${fileExtensions})`)
65
+ .option('-d, --destination <dir>', 'destination directory of generating')
66
+ .description('generates JavaScript code that prints "Hello, {name}!" for each greeting in a source file')
67
+ .action(exports.generateAction);
68
+ program.parse(process.argv);
69
+ }
70
+ main().catch(err => {
71
+ console.error(err);
72
+ process.exit(1);
73
+ });
74
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/cli/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,yCAAoC;AACpC,+DAAyE;AACzE,mEAAoE;AACpE,+CAA+C;AAC/C,iDAAoD;AACpD,uCAA8C;AAC9C,qDAAuC;AACvC,gDAAkC;AAElC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAExE,KAAK,UAAU,kBAAkB;IAC7B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAEM,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAA,uCAAoB,EAAC,qBAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAqB,EAAiB,EAAE;IAC3F,MAAM,QAAQ,GAAG,IAAA,uCAAoB,EAAC,qBAAc,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAc,EAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAA,iCAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAMF,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAElD,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,kCAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,cAAc,GAAG,CAAC;SAC/E,MAAM,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;SACxE,WAAW,CAAC,2FAA2F,CAAC;SACxG,MAAM,CAAC,sBAAc,CAAC,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.deactivate = exports.activate = void 0;
27
+ const vscode = __importStar(require("vscode"));
28
+ // import type * as vscode from 'vscode';
29
+ const path = __importStar(require("node:path"));
30
+ const node_js_1 = require("vscode-languageclient/node.js");
31
+ const sprotty_vscode_1 = require("sprotty-vscode");
32
+ const lsp_sprotty_view_provider_js_1 = require("sprotty-vscode/lib/lsp/lsp-sprotty-view-provider.js");
33
+ const vscode_messenger_1 = require("vscode-messenger");
34
+ let client;
35
+ class CustomLspSprottyViewProvider extends lsp_sprotty_view_provider_js_1.LspSprottyViewProvider {
36
+ createWebview(container) {
37
+ const webview = container.webview;
38
+ const localResourceRoots = [(0, sprotty_vscode_1.createFileUri)(this.options.extensionUri.fsPath, 'pack', 'diagram')];
39
+ webview.options = {
40
+ enableScripts: true,
41
+ localResourceRoots
42
+ };
43
+ const identifier = { clientId: 'aurora', diagramType: 'aurora', uri: 'aurora' };
44
+ webview.html = (0, sprotty_vscode_1.createWebviewHtml)(identifier, container, {
45
+ scriptUri: (0, sprotty_vscode_1.createFileUri)(this.options.extensionUri.fsPath, 'pack', 'diagram', 'main.js'),
46
+ cssUri: (0, sprotty_vscode_1.createFileUri)(this.options.extensionUri.fsPath, 'pack', 'diagram', 'main.css')
47
+ });
48
+ }
49
+ }
50
+ // This function is called when the extension is activated.
51
+ function activate(context) {
52
+ console.log("Hello Activation...");
53
+ client = startLanguageClient(context);
54
+ // Register the focus command
55
+ context.subscriptions.push(vscode.commands.registerCommand('aurora.focus', () => {
56
+ // Handle focus action
57
+ console.log('Aurora focus command executed');
58
+ }));
59
+ // Set up webview view shown in the side panel
60
+ const webviewViewProvider = new CustomLspSprottyViewProvider({
61
+ extensionUri: context.extensionUri,
62
+ viewType: 'aurora',
63
+ languageClient: client,
64
+ supportedFileExtensions: ['.aurora'],
65
+ openActiveEditor: true,
66
+ messenger: new vscode_messenger_1.Messenger({ ignoreHiddenViews: false }),
67
+ });
68
+ context.subscriptions.push(vscode.window.registerWebviewViewProvider('aurora', webviewViewProvider, {
69
+ webviewOptions: { retainContextWhenHidden: true }
70
+ }));
71
+ (0, sprotty_vscode_1.registerDefaultCommands)(webviewViewProvider, context, { extensionPrefix: 'aurora' });
72
+ (0, sprotty_vscode_1.registerTextEditorSync)(webviewViewProvider, context);
73
+ }
74
+ exports.activate = activate;
75
+ // This function is called when the extension is deactivated.
76
+ function deactivate() {
77
+ if (client) {
78
+ return client.stop();
79
+ }
80
+ return undefined;
81
+ }
82
+ exports.deactivate = deactivate;
83
+ function startLanguageClient(context) {
84
+ const serverModule = context.asAbsolutePath(path.join('out', 'language', 'main.cjs'));
85
+ // The debug options for the server
86
+ // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging.
87
+ // By setting `process.env.DEBUG_BREAK` to a truthy value, the language server will wait until a debugger is attached.
88
+ const debugOptions = { execArgv: ['--nolazy', `--inspect${process.env.DEBUG_BREAK ? '-brk' : ''}=${process.env.DEBUG_SOCKET || '6009'}`] };
89
+ // If the extension is launched in debug mode then the debug server options are used
90
+ // Otherwise the run options are used
91
+ const serverOptions = {
92
+ run: { module: serverModule, transport: node_js_1.TransportKind.ipc },
93
+ debug: { module: serverModule, transport: node_js_1.TransportKind.ipc, options: debugOptions }
94
+ };
95
+ // Options to control the language client
96
+ const clientOptions = {
97
+ documentSelector: [{ scheme: 'file', language: 'aurora' }],
98
+ synchronize: {
99
+ fileEvents: vscode.workspace.createFileSystemWatcher('**/*.aurora')
100
+ },
101
+ outputChannel: vscode.window.createOutputChannel('Aurora Language Server'),
102
+ initializationFailedHandler: (error) => {
103
+ console.error('Language server initialization failed:', error);
104
+ return false;
105
+ }
106
+ };
107
+ // Create the language client and start the client.
108
+ const client = new node_js_1.LanguageClient('aurora', 'Aurora', serverOptions, clientOptions);
109
+ // Start the client. This will also launch the server
110
+ // Add error handling
111
+ client.start().catch(error => {
112
+ console.error('Failed to start language client:', error);
113
+ vscode.window.showErrorMessage(`Failed to start Aurora language server: ${error.message}`);
114
+ });
115
+ // Add shutdown handling
116
+ context.subscriptions.push(client.onDidChangeState(event => {
117
+ if (event.newState === node_js_1.State.Stopped) {
118
+ console.log('Language server stopped');
119
+ }
120
+ }));
121
+ return client;
122
+ }
123
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/extension/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AACjC,yCAAyC;AACzC,gDAAkC;AAClC,2DAAqF;AACrF,mDAEyB;AACzB,sGAA6F;AAC7F,uDAA6C;AAE7C,IAAI,MAAsB,CAAC;AAE3B,MAAM,4BAA6B,SAAQ,qDAAsB;IACnD,aAAa,CAAC,SAA6B;QACjD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,kBAAkB,GAAG,CAAC,IAAA,8BAAa,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,OAAO,GAAG;YACd,aAAa,EAAE,IAAI;YACnB,kBAAkB;SACrB,CAAC;QACF,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAChF,OAAO,CAAC,IAAI,GAAG,IAAA,kCAAmB,EAAC,UAAU,EAAE,SAAS,EAAE;YACtD,SAAS,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;YACxF,MAAM,EAAE,IAAA,8BAAa,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;SACzF,CAAC,CAAC;IACP,CAAC;CACJ;AAED,2DAA2D;AAC3D,SAAgB,QAAQ,CAAC,OAAgC;IACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEtC,6BAA6B;IAC7B,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE;QACjD,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACjD,CAAC,CAAC,CACL,CAAC;IAEF,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,IAAI,4BAA4B,CAAC;QACzD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,MAAM;QACtB,uBAAuB,EAAE,CAAC,SAAS,CAAC;QACpC,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,IAAI,4BAAS,CAAC,EAAC,iBAAiB,EAAE,KAAK,EAAC,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,EAAE;QACrE,cAAc,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE;KACpD,CAAC,CACL,CAAC;IACF,IAAA,wCAAuB,EAAC,mBAAmB,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,IAAA,uCAAsB,EAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AA5BD,4BA4BC;AAGD,6DAA6D;AAC7D,SAAgB,UAAU;IACtB,IAAI,MAAM,EAAE;QACR,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;KACxB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AALD,gCAKC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACtF,mCAAmC;IACnC,8GAA8G;IAC9G,sHAAsH;IACtH,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;IAE3I,oFAAoF;IACpF,qCAAqC;IACrC,MAAM,aAAa,GAAkB;QACjC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAa,CAAC,GAAG,EAAE;QAC3D,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAa,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE;KACvF,CAAC;IAEF,yCAAyC;IACzC,MAAM,aAAa,GAA0B;QACzC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC1D,WAAW,EAAE;YACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC;SACtE;QACD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;QAC1E,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ,CAAC;IAEF,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,wBAAc,CAC7B,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,aAAa,CAChB,CAAC;IAEF,qDAAqD;IACrD,qBAAqB;IACrB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;QAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,eAAK,CAAC,OAAO,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;SAC1C;IACL,CAAC,CAAC,CACL,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFromText = void 0;
4
+ const vscode_uri_1 = require("vscode-uri");
5
+ async function parseFromText(services, model, existingUri) {
6
+ var _a;
7
+ const metaData = services.LanguageMetaData;
8
+ const randomNumber = Math.floor(Math.random() * 10000000) + 1000000;
9
+ const uri = existingUri ? existingUri : vscode_uri_1.URI.parse(`file:///${randomNumber}${metaData.fileExtensions[0]}`);
10
+ const document = services.shared.workspace.LangiumDocumentFactory.fromString(model, uri);
11
+ services.shared.workspace.LangiumDocuments.addDocument(document);
12
+ await services.shared.workspace.DocumentBuilder.build([document], {});
13
+ (_a = document.parseResult.value.$container) === null || _a === void 0 ? void 0 : _a.$document;
14
+ return document.parseResult.value;
15
+ }
16
+ exports.parseFromText = parseFromText;
17
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../../src/extension/src/parser/parser.ts"],"names":[],"mappings":";;;AAGA,2CAA8B;AAIvB,KAAK,UAAU,aAAa,CAAC,QAAwB,EAAE,KAAa,EAAE,WAAuB;;IAChG,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAA;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC;IACpE,MAAM,GAAG,GAAG,WAAW,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA,gBAAG,CAAC,KAAK,CAAC,WAAW,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACxF,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAChE,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAG,CAAC,CAAA;IACtE,MAAA,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,0CAAE,SAAS,CAAA;IAChD,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAY,CAAA;AAC5C,CAAC;AATD,sCASC"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuroraDiagramGenerator = exports.getNgoFilter = exports.addToNGOFilter = exports.clearNGOFilter = void 0;
4
+ const langium_sprotty_1 = require("langium-sprotty");
5
+ const langium_1 = require("langium");
6
+ var ngoFilter = [];
7
+ function clearNGOFilter() { ngoFilter = []; }
8
+ exports.clearNGOFilter = clearNGOFilter;
9
+ function addToNGOFilter(s) { ngoFilter = [...ngoFilter, ...s]; }
10
+ exports.addToNGOFilter = addToNGOFilter;
11
+ function getNgoFilter() { return ngoFilter; }
12
+ exports.getNgoFilter = getNgoFilter;
13
+ function listOfNarratives(a) {
14
+ return langium_1.AstUtils.streamAllContents(a)
15
+ .toArray()
16
+ .filter((i) => i.$type == "NL_STATEMENT");
17
+ }
18
+ class AuroraDiagramGenerator extends langium_sprotty_1.LangiumDiagramGenerator {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.ngoFilter = [];
22
+ }
23
+ updateNGOFilter(s) { {
24
+ ngoFilter = [...ngoFilter, ...s];
25
+ } }
26
+ generateRoot(args) {
27
+ const { document } = args;
28
+ const sm = document.parseResult.value;
29
+ let ic = sm.elements.filter(x => x.$type == "Issues").map(i => i).flatMap(x => x.coord);
30
+ let ngo = sm.elements.filter(x => x.$type == "Orders").map(i => i).flatMap(x => x.namedGroups);
31
+ let oc = ngo.filter(x => this.ngoFilter.indexOf(x.name.replace(":", "").trim()) === -1).flatMap(n => n.orders).filter(x => x.$type == "OrderCoordinate").map(x => x);
32
+ let nar = listOfNarratives(sm).filter(x => x.$container.$type != "ClinicalCoordinate" && x.$container.$type != "NamedGroupOrder" && x.$container.$type != "NamedGroupClinical");
33
+ return {
34
+ type: 'graph',
35
+ id: 'pcm',
36
+ children: [
37
+ ...ic.map(x => this.generateIC(x, args)).filter(Boolean),
38
+ ...oc.map(x => this.generateOC(x, args)).filter(Boolean),
39
+ ...nar.map(x => this.generateNar(x, args)).filter(Boolean),
40
+ ...nar.map(x => this.generateNLEdge(x, args)).filter(Boolean),
41
+ ...oc.map(x => this.generateEdge(x, args)).filter(Boolean),
42
+ ...ic.filter(i => { var _a; return ((_a = i.refs) === null || _a === void 0 ? void 0 : _a.length) > 0; }).map(x => this.generateEdge(x, args)).filter(Boolean)
43
+ ]
44
+ };
45
+ }
46
+ generateNar(nl, { idCache }) {
47
+ const nodeId = idCache.uniqueId(nl.name, nl);
48
+ var t = "node:nl"; // Neutral Nar
49
+ switch (nl.name.trim()[1].toString()) {
50
+ case '?':
51
+ t = "node:nldraft";
52
+ break;
53
+ case '!':
54
+ t = "node:nlexclamation";
55
+ break;
56
+ case 'x':
57
+ t = "node:nltaskcompleted";
58
+ break;
59
+ case '.':
60
+ t = "node:nltask";
61
+ break;
62
+ default:
63
+ }
64
+ return {
65
+ type: t,
66
+ id: nodeId,
67
+ children: [{ type: 'label:darktext', id: idCache.uniqueId(nodeId + '.label'), text: nl.name }],
68
+ layout: 'stack',
69
+ layoutOptions: { paddingTop: 10.0, paddingBottom: 10.0, paddingLeft: 10.0, paddingRight: 10.0 }
70
+ };
71
+ }
72
+ generateIC(state, { idCache }) {
73
+ const nodeId = idCache.uniqueId(state.name, state);
74
+ return {
75
+ type: 'node:ic',
76
+ id: nodeId,
77
+ children: [
78
+ { type: 'label', id: idCache.uniqueId(nodeId + '.label'), text: state.name }
79
+ ],
80
+ layout: 'stack',
81
+ layoutOptions: { paddingTop: 10.0, paddingBottom: 10.0, paddingLeft: 10.0, paddingRight: 10.0
82
+ }
83
+ };
84
+ }
85
+ generateOC(oc, { idCache }) {
86
+ var i = "node:oc";
87
+ if (oc.refs.length == 0) {
88
+ i = "node:ocorphan";
89
+ }
90
+ const nodeId = idCache.uniqueId(oc.name, oc);
91
+ return {
92
+ type: i,
93
+ id: nodeId,
94
+ children: [{ type: 'label:darktext', id: idCache.uniqueId(nodeId + '.label'), text: oc.name }],
95
+ layout: 'stack',
96
+ layoutOptions: { paddingTop: 10.0, paddingBottom: 10.0, paddingLeft: 10.0, paddingRight: 10.0 }
97
+ };
98
+ }
99
+ // TODO, change this from ic -> (to, from )
100
+ // And capture the ~ for the negative relationship
101
+ generateEdge(ic, { idCache }) {
102
+ var _a, _b;
103
+ const sourceId = idCache.getId(ic);
104
+ // Check if refs array exists and has elements
105
+ if (!ic.refs || ic.refs.length === 0 || !ic.refs[0].ref) {
106
+ console.warn(`No valid reference found for ${ic.name}`);
107
+ return undefined;
108
+ }
109
+ const targetId = idCache.getId(ic.refs[0].ref);
110
+ // Check if both IDs are valid
111
+ if (!sourceId || !targetId) {
112
+ console.warn(`Invalid source or target ID for ${ic.name}`);
113
+ return undefined;
114
+ }
115
+ const edgeId = idCache.uniqueId(`${sourceId}:${(_b = (_a = ic.refs[0].$refNode) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : ''}:${targetId}`, ic);
116
+ return {
117
+ type: 'edge',
118
+ id: edgeId,
119
+ sourceId: sourceId,
120
+ targetId: targetId,
121
+ children: [
122
+ {
123
+ type: 'label:xref',
124
+ id: idCache.uniqueId(edgeId + '.label'),
125
+ }
126
+ ]
127
+ };
128
+ }
129
+ generateNLEdge(nl, { idCache }) {
130
+ var _a;
131
+ const sourceId = idCache.getId(nl);
132
+ const targetId = idCache.getId(nl.$container);
133
+ const edgeId = idCache.uniqueId(`${sourceId}:${(_a = nl.$container.$cstNode) === null || _a === void 0 ? void 0 : _a.text}:${targetId}`, nl);
134
+ return {
135
+ type: 'edge',
136
+ id: edgeId,
137
+ sourceId: sourceId,
138
+ targetId: targetId,
139
+ children: [
140
+ {
141
+ type: 'label:xref',
142
+ id: idCache.uniqueId(edgeId + '.label'),
143
+ // text: transition.event?.ref?.name
144
+ }
145
+ ]
146
+ };
147
+ }
148
+ }
149
+ exports.AuroraDiagramGenerator = AuroraDiagramGenerator;
150
+ //# sourceMappingURL=aurora-diagram-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aurora-diagram-generator.js","sourceRoot":"","sources":["../../../../src/language/aurora-diagram-generator.ts"],"names":[],"mappings":";;;AAAA,qDAA4E;AAE5E,qCAA4C;AAG5C,IAAI,SAAS,GAAa,EAAE,CAAA;AAC5B,SAAgB,cAAc,KAAW,SAAS,GAAG,EAAE,CAAA,CAAA,CAAC;AAAxD,wCAAwD;AACxD,SAAgB,cAAc,CAAC,CAAW,IAAU,SAAS,GAAG,CAAE,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;AAAvF,wCAAuF;AACvF,SAAgB,YAAY,KAAc,OAAO,SAAS,CAAA,CAAA,CAAC;AAA3D,oCAA2D;AAE3D,SAAS,gBAAgB,CAAC,CAAU;IAChC,OAAO,kBAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACjC,OAAO,EAAE;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,CAAmB,CAAC;AAClE,CAAC;AAED,MAAa,sBAAuB,SAAQ,yCAAuB;IAAnE;;QACI,cAAS,GAAc,EAAE,CAAA;IA0H7B,CAAC;IAzHG,eAAe,CAAC,CAAW,IAAK;QAAC,SAAS,GAAG,CAAE,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;KAAE,CAAA,CAAC;IAE3D,YAAY,CAAC,IAA2B;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAEtC,IAAI,EAAE,GAAwB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACxH,IAAI,GAAG,GAAwB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QAC/H,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC,KAAK,IAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAoB,CAAC,CAAA;QAC/K,IAAI,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,iBAAiB,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAA;QAE/K,OAAO;YACH,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE;gBACN,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvD,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvD,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxD,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC5D,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzD,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,MAAM,IAAG,CAAC,CAAA,EAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;aACzE;SACvB,CAAC;IACN,CAAC;IACS,WAAW,CAAC,EAAgB,EAAE,EAAE,OAAO,EAAyB;QACtE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,SAAS,CAAA,CAAC,cAAc;QAChC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAC;YACjC,KAAK,GAAG;gBAAG,CAAC,GAAG,cAAc,CAAE;gBAAC,MAAM;YACtC,KAAK,GAAG;gBAAG,CAAC,GAAG,oBAAoB,CAAE;gBAAC,MAAM;YAC5C,KAAK,GAAG;gBAAG,CAAC,GAAG,sBAAsB,CAAE;gBAAC,MAAM;YAC9C,KAAK,GAAG;gBAAG,CAAC,GAAG,aAAa,CAAE;gBAAC,MAAM;YACrC,QAAS;SACZ;QACD,OAAO;YACH,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,CAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAC,CAAC;YACrG,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAC;SACxF,CAAC;IACf,CAAC;IACS,UAAU,CAAC,KAAsB,EAAE,EAAE,OAAO,EAAyB;QAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE;gBACE,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC;aACnF;YACD,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,aAAa,EAAE,IAAI,EAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;aACzF;SACK,CAAC;IACf,CAAC;IACS,UAAU,CAAC,EAAmB,EAAE,EAAE,OAAO,EAAyB;QACxE,IAAI,CAAC,GAAG,SAAS,CAAA;QACjB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAC;YACpB,CAAC,GAAG,eAAe,CAAA;SACtB;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO;YACH,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,CAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAC,CAAC;YACrG,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAa;SACpG,CAAC;IACf,CAAC;IACD,2CAA2C;IAC3C,kDAAkD;IACxC,YAAY,CAAC,EAAmC,EAAE,EAAE,OAAO,EAAyB;;QAC1F,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnC,8CAA8C;QAC9C,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACrD,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,MAAA,MAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,IAAI,mCAAI,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAElG,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE;gBACE;oBACJ,IAAI,EAAE,YAAY;oBAClB,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;iBAC1C;aACJ;SACJ,CAAC;IACN,CAAC;IACS,cAAc,CAAC,EAAgB,EAAE,EAAE,OAAO,EAAyB;;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,MAAA,EAAE,CAAC,UAAU,CAAC,QAAQ,0CAAE,IAAI,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/F,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,QAAS;YACnB,QAAQ,EAAE,QAAS;YACnB,QAAQ,EAAE;gBACE;oBACJ,IAAI,EAAE,YAAY;oBAClB,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACvC,oCAAoC;iBACvC;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AA3HD,wDA2HC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAuroraServices = exports.AuroraModule = void 0;
4
+ const langium_1 = require("langium");
5
+ const lsp_1 = require("langium/lsp");
6
+ const module_js_1 = require("./generated/module.js");
7
+ const aurora_validator_js_1 = require("./aurora-validator.js");
8
+ const aurora_scope_js_1 = require("./aurora-scope.js");
9
+ const aurora_diagram_generator_js_1 = require("./aurora-diagram-generator.js");
10
+ const langium_sprotty_1 = require("langium-sprotty");
11
+ /**
12
+ * Dependency injection module that overrides Langium default services and contributes the
13
+ * declared custom services. The Langium defaults can be partially specified to override only
14
+ * selected services, while the custom services must be fully specified.
15
+ */
16
+ exports.AuroraModule = {
17
+ diagram: {
18
+ DiagramGenerator: services => new aurora_diagram_generator_js_1.AuroraDiagramGenerator(services),
19
+ },
20
+ validation: {
21
+ AuroraValidator: () => new aurora_validator_js_1.AuroraValidator()
22
+ },
23
+ references: {
24
+ ScopeComputation: (services) => new aurora_scope_js_1.AuroraScopeComputation(services),
25
+ }
26
+ };
27
+ /**
28
+ * Create the full set of services required by Langium.
29
+ *
30
+ * First inject the shared services by merging two modules:
31
+ * - Langium default shared services
32
+ * - Services generated by langium-cli
33
+ *
34
+ * Then inject the language-specific services by merging three modules:
35
+ * - Langium default language-specific services
36
+ * - Services generated by langium-cli
37
+ * - Services specified in this file
38
+ *
39
+ * @param context Optional module context with the LSP connection
40
+ * @returns An object wrapping the shared services and the language-specific services
41
+ */
42
+ function createAuroraServices(context) {
43
+ const shared = (0, langium_1.inject)((0, lsp_1.createDefaultSharedModule)(context), module_js_1.AuroraGeneratedSharedModule, langium_sprotty_1.SprottySharedModule);
44
+ const Aurora = (0, langium_1.inject)((0, lsp_1.createDefaultModule)({ shared }), langium_sprotty_1.SprottyDefaultModule, module_js_1.AuroraGeneratedModule, exports.AuroraModule);
45
+ shared.ServiceRegistry.register(Aurora);
46
+ (0, aurora_validator_js_1.registerValidationChecks)(Aurora);
47
+ if (!context.connection) {
48
+ // We don't run inside a language server
49
+ // Therefore, initialize the configuration provider instantly
50
+ shared.workspace.ConfigurationProvider.initialized({});
51
+ }
52
+ return { shared, Aurora };
53
+ }
54
+ exports.createAuroraServices = createAuroraServices;
55
+ //# sourceMappingURL=aurora-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aurora-module.js","sourceRoot":"","sources":["../../../../src/language/aurora-module.ts"],"names":[],"mappings":";;;AAAA,qCAA8C;AAC9C,qCAAiK;AACjK,qDAA2F;AAC3F,+DAAkF;AAClF,uDAA2D;AAC3D,+EAAuE;AACvE,qDAA0J;AAiB1J;;;;GAIG;AACU,QAAA,YAAY,GAAkG;IACvH,OAAO,EAAE;QACL,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,oDAAsB,CAAC,QAAQ,CAAC;KACrE;IACD,UAAU,EAAE;QACR,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,qCAAe,EAAE;KAC/C;IACD,UAAU,EAAE;QACR,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,wCAAsB,CAAC,QAAQ,CAAC;KACvE;CACJ,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,SAAgB,oBAAoB,CAAC,OAAmC;IAIpE,MAAM,MAAM,GAAG,IAAA,gBAAM,EACjB,IAAA,+BAAyB,EAAC,OAAO,CAAC,EAClC,uCAA2B,EAC3B,qCAAmB,CACtB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,gBAAM,EACjB,IAAA,yBAAmB,EAAC,EAAE,MAAM,EAAE,CAAC,EAC/B,sCAAoB,EACpB,iCAAqB,EACrB,oBAAY,CACf,CAAC;IACF,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,IAAA,8CAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QACrB,wCAAwC;QACxC,6DAA6D;QAC7D,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC1D;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAvBD,oDAuBC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /******************************************************************************
3
+ * Copyright 2021 TypeFox GmbH
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License, which is available in the project root.
6
+ ******************************************************************************/
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AuroraScopeComputation = void 0;
9
+ const langium_1 = require("langium");
10
+ const ast_js_1 = require("./generated/ast.js");
11
+ class AuroraScopeComputation extends langium_1.DefaultScopeComputation {
12
+ constructor(services) {
13
+ super(services);
14
+ }
15
+ async computeExports(document) {
16
+ const exportedDescriptions = [];
17
+ for (const childNode of langium_1.AstUtils.streamAllContents(document.parseResult.value)) {
18
+ if ((0, ast_js_1.isIssueCoordinate)(childNode) && childNode.name) {
19
+ exportedDescriptions.push(this.descriptions.createDescription(childNode, childNode.name, document));
20
+ }
21
+ if ((0, ast_js_1.isOrderCoordinate)(childNode) && childNode.name) {
22
+ exportedDescriptions.push(this.descriptions.createDescription(childNode, childNode.name, document));
23
+ }
24
+ if ((0, ast_js_1.isMODULE)(childNode) && childNode.name) {
25
+ exportedDescriptions.push(this.descriptions.createDescription(childNode, childNode.name, document));
26
+ }
27
+ }
28
+ return exportedDescriptions;
29
+ }
30
+ async computeLocalScopes(document) {
31
+ const model = document.parseResult.value;
32
+ const scopes = new langium_1.MultiMap();
33
+ this.processContainer(model, scopes, document);
34
+ return scopes;
35
+ }
36
+ processContainer(container, scopes, document) {
37
+ const localDescriptions = [];
38
+ for (const element of langium_1.AstUtils.streamAllContents(container)) {
39
+ if ((0, ast_js_1.isIssueCoordinate)(element) && element.name) {
40
+ localDescriptions.push(this.descriptions.createDescription(element, element.name, document));
41
+ }
42
+ if ((0, ast_js_1.isOrderCoordinate)(element) && element.name) {
43
+ localDescriptions.push(this.descriptions.createDescription(element, element.name, document));
44
+ }
45
+ if ((0, ast_js_1.isMODULE)(element) && element.name) {
46
+ localDescriptions.push(this.descriptions.createDescription(element, element.name, document));
47
+ }
48
+ }
49
+ scopes.addAll(container, localDescriptions);
50
+ return localDescriptions;
51
+ }
52
+ }
53
+ exports.AuroraScopeComputation = AuroraScopeComputation;
54
+ //# sourceMappingURL=aurora-scope.js.map