@reqlan/language 1.4.0 → 1.5.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 (222) hide show
  1. package/README.md +121 -24
  2. package/README.template.md +32 -0
  3. package/out/generated/ast.d.ts +39 -1
  4. package/out/generated/ast.js +35 -1
  5. package/out/generated/ast.js.map +1 -1
  6. package/out/generated/grammar.js +365 -110
  7. package/out/generated/grammar.js.map +1 -1
  8. package/out/reqlan-definition-provider.js +2 -2
  9. package/out/reqlan-definition-provider.js.map +1 -1
  10. package/out/reqlan-file-link-resolver.js +6 -1
  11. package/out/reqlan-file-link-resolver.js.map +1 -1
  12. package/out/reqlan-import-bindings.d.ts +6 -1
  13. package/out/reqlan-import-bindings.js +18 -1
  14. package/out/reqlan-import-bindings.js.map +1 -1
  15. package/out/reqlan-namespace-import-links.js +4 -3
  16. package/out/reqlan-namespace-import-links.js.map +1 -1
  17. package/out/reqlan-path-resolve.d.ts +1 -0
  18. package/out/reqlan-path-resolve.js +3 -0
  19. package/out/reqlan-path-resolve.js.map +1 -1
  20. package/out/reqlan-references.js +3 -2
  21. package/out/reqlan-references.js.map +1 -1
  22. package/out/reqlan-scope.js +9 -4
  23. package/out/reqlan-scope.js.map +1 -1
  24. package/out/reqlan-semantic-token-provider.js +23 -5
  25. package/out/reqlan-semantic-token-provider.js.map +1 -1
  26. package/out/reqlan-validator.d.ts +7 -0
  27. package/out/reqlan-validator.js +35 -3
  28. package/out/reqlan-validator.js.map +1 -1
  29. package/out/reqlan-workspace-attribute-catalog.js +37 -15
  30. package/out/reqlan-workspace-attribute-catalog.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/generated/ast.ts +53 -2
  33. package/src/generated/grammar.ts +365 -110
  34. package/src/reqlan-definition-provider.ts +2 -1
  35. package/src/reqlan-file-link-resolver.ts +6 -1
  36. package/src/reqlan-import-bindings.ts +26 -1
  37. package/src/reqlan-namespace-import-links.ts +4 -3
  38. package/src/reqlan-path-resolve.ts +4 -0
  39. package/src/reqlan-references.ts +3 -2
  40. package/src/reqlan-scope.ts +9 -5
  41. package/src/reqlan-semantic-token-provider.ts +22 -4
  42. package/src/reqlan-validator.ts +50 -2
  43. package/src/reqlan-workspace-attribute-catalog.ts +50 -15
  44. package/src/reqlan.langium +18 -2
  45. package/out/src/file-path-rewrite.d.ts +0 -25
  46. package/out/src/file-path-rewrite.js +0 -56
  47. package/out/src/file-path-rewrite.js.map +0 -1
  48. package/out/src/generated/ast.d.ts +0 -1173
  49. package/out/src/generated/ast.js +0 -994
  50. package/out/src/generated/ast.js.map +0 -1
  51. package/out/src/generated/grammar.d.ts +0 -7
  52. package/out/src/generated/grammar.js +0 -3045
  53. package/out/src/generated/grammar.js.map +0 -1
  54. package/out/src/generated/module.d.ts +0 -20
  55. package/out/src/generated/module.js +0 -32
  56. package/out/src/generated/module.js.map +0 -1
  57. package/out/src/index.d.ts +0 -29
  58. package/out/src/index.js +0 -30
  59. package/out/src/index.js.map +0 -1
  60. package/out/src/reqlan-attribute-catalog.d.ts +0 -19
  61. package/out/src/reqlan-attribute-catalog.js +0 -87
  62. package/out/src/reqlan-attribute-catalog.js.map +0 -1
  63. package/out/src/reqlan-code-action-provider.d.ts +0 -34
  64. package/out/src/reqlan-code-action-provider.js +0 -206
  65. package/out/src/reqlan-code-action-provider.js.map +0 -1
  66. package/out/src/reqlan-comment-resolver.d.ts +0 -35
  67. package/out/src/reqlan-comment-resolver.js +0 -308
  68. package/out/src/reqlan-comment-resolver.js.map +0 -1
  69. package/out/src/reqlan-completion-context.d.ts +0 -46
  70. package/out/src/reqlan-completion-context.js +0 -244
  71. package/out/src/reqlan-completion-context.js.map +0 -1
  72. package/out/src/reqlan-completion-provider.d.ts +0 -41
  73. package/out/src/reqlan-completion-provider.js +0 -320
  74. package/out/src/reqlan-completion-provider.js.map +0 -1
  75. package/out/src/reqlan-definition-provider.d.ts +0 -31
  76. package/out/src/reqlan-definition-provider.js +0 -240
  77. package/out/src/reqlan-definition-provider.js.map +0 -1
  78. package/out/src/reqlan-document-highlight-provider.d.ts +0 -10
  79. package/out/src/reqlan-document-highlight-provider.js +0 -11
  80. package/out/src/reqlan-document-highlight-provider.js.map +0 -1
  81. package/out/src/reqlan-document-link-provider.d.ts +0 -14
  82. package/out/src/reqlan-document-link-provider.js +0 -24
  83. package/out/src/reqlan-document-link-provider.js.map +0 -1
  84. package/out/src/reqlan-embedded-file-references.d.ts +0 -11
  85. package/out/src/reqlan-embedded-file-references.js +0 -50
  86. package/out/src/reqlan-embedded-file-references.js.map +0 -1
  87. package/out/src/reqlan-file-link-resolver.d.ts +0 -44
  88. package/out/src/reqlan-file-link-resolver.js +0 -347
  89. package/out/src/reqlan-file-link-resolver.js.map +0 -1
  90. package/out/src/reqlan-file-references.d.ts +0 -15
  91. package/out/src/reqlan-file-references.js +0 -72
  92. package/out/src/reqlan-file-references.js.map +0 -1
  93. package/out/src/reqlan-grammar-config.d.ts +0 -5
  94. package/out/src/reqlan-grammar-config.js +0 -9
  95. package/out/src/reqlan-grammar-config.js.map +0 -1
  96. package/out/src/reqlan-idea-summary.d.ts +0 -6
  97. package/out/src/reqlan-idea-summary.js +0 -78
  98. package/out/src/reqlan-idea-summary.js.map +0 -1
  99. package/out/src/reqlan-ignore-error.d.ts +0 -10
  100. package/out/src/reqlan-ignore-error.js +0 -42
  101. package/out/src/reqlan-ignore-error.js.map +0 -1
  102. package/out/src/reqlan-import-bindings.d.ts +0 -12
  103. package/out/src/reqlan-import-bindings.js +0 -65
  104. package/out/src/reqlan-import-bindings.js.map +0 -1
  105. package/out/src/reqlan-import-edits.d.ts +0 -17
  106. package/out/src/reqlan-import-edits.js +0 -96
  107. package/out/src/reqlan-import-edits.js.map +0 -1
  108. package/out/src/reqlan-imports.d.ts +0 -22
  109. package/out/src/reqlan-imports.js +0 -61
  110. package/out/src/reqlan-imports.js.map +0 -1
  111. package/out/src/reqlan-inbound-reference-inlay-label.d.ts +0 -23
  112. package/out/src/reqlan-inbound-reference-inlay-label.js +0 -128
  113. package/out/src/reqlan-inbound-reference-inlay-label.js.map +0 -1
  114. package/out/src/reqlan-inlay-hint-provider.d.ts +0 -15
  115. package/out/src/reqlan-inlay-hint-provider.js +0 -54
  116. package/out/src/reqlan-inlay-hint-provider.js.map +0 -1
  117. package/out/src/reqlan-inlay-hint-settings.d.ts +0 -10
  118. package/out/src/reqlan-inlay-hint-settings.js +0 -10
  119. package/out/src/reqlan-inlay-hint-settings.js.map +0 -1
  120. package/out/src/reqlan-linker.d.ts +0 -26
  121. package/out/src/reqlan-linker.js +0 -86
  122. package/out/src/reqlan-linker.js.map +0 -1
  123. package/out/src/reqlan-markdown-links.d.ts +0 -28
  124. package/out/src/reqlan-markdown-links.js +0 -113
  125. package/out/src/reqlan-markdown-links.js.map +0 -1
  126. package/out/src/reqlan-module.d.ts +0 -41
  127. package/out/src/reqlan-module.js +0 -76
  128. package/out/src/reqlan-module.js.map +0 -1
  129. package/out/src/reqlan-name-catalog.d.ts +0 -23
  130. package/out/src/reqlan-name-catalog.js +0 -63
  131. package/out/src/reqlan-name-catalog.js.map +0 -1
  132. package/out/src/reqlan-name-provider.d.ts +0 -10
  133. package/out/src/reqlan-name-provider.js +0 -38
  134. package/out/src/reqlan-name-provider.js.map +0 -1
  135. package/out/src/reqlan-namespace-import-links.d.ts +0 -10
  136. package/out/src/reqlan-namespace-import-links.js +0 -81
  137. package/out/src/reqlan-namespace-import-links.js.map +0 -1
  138. package/out/src/reqlan-path-completion.d.ts +0 -50
  139. package/out/src/reqlan-path-completion.js +0 -304
  140. package/out/src/reqlan-path-completion.js.map +0 -1
  141. package/out/src/reqlan-path-references.d.ts +0 -5
  142. package/out/src/reqlan-path-references.js +0 -124
  143. package/out/src/reqlan-path-references.js.map +0 -1
  144. package/out/src/reqlan-path-resolve.d.ts +0 -59
  145. package/out/src/reqlan-path-resolve.js +0 -173
  146. package/out/src/reqlan-path-resolve.js.map +0 -1
  147. package/out/src/reqlan-quoted-strings.d.ts +0 -9
  148. package/out/src/reqlan-quoted-strings.js +0 -26
  149. package/out/src/reqlan-quoted-strings.js.map +0 -1
  150. package/out/src/reqlan-reference-at-position.d.ts +0 -20
  151. package/out/src/reqlan-reference-at-position.js +0 -89
  152. package/out/src/reqlan-reference-at-position.js.map +0 -1
  153. package/out/src/reqlan-references.d.ts +0 -16
  154. package/out/src/reqlan-references.js +0 -51
  155. package/out/src/reqlan-references.js.map +0 -1
  156. package/out/src/reqlan-scope.d.ts +0 -25
  157. package/out/src/reqlan-scope.js +0 -266
  158. package/out/src/reqlan-scope.js.map +0 -1
  159. package/out/src/reqlan-semantic-token-provider.d.ts +0 -8
  160. package/out/src/reqlan-semantic-token-provider.js +0 -97
  161. package/out/src/reqlan-semantic-token-provider.js.map +0 -1
  162. package/out/src/reqlan-token-builder.d.ts +0 -12
  163. package/out/src/reqlan-token-builder.js +0 -459
  164. package/out/src/reqlan-token-builder.js.map +0 -1
  165. package/out/src/reqlan-validator.d.ts +0 -25
  166. package/out/src/reqlan-validator.js +0 -119
  167. package/out/src/reqlan-validator.js.map +0 -1
  168. package/out/src/reqlan-workspace-attribute-catalog.d.ts +0 -6
  169. package/out/src/reqlan-workspace-attribute-catalog.js +0 -54
  170. package/out/src/reqlan-workspace-attribute-catalog.js.map +0 -1
  171. package/out/test/code-actions.test.d.ts +0 -1
  172. package/out/test/code-actions.test.js +0 -126
  173. package/out/test/code-actions.test.js.map +0 -1
  174. package/out/test/comment-in-string.test.d.ts +0 -1
  175. package/out/test/comment-in-string.test.js +0 -100
  176. package/out/test/comment-in-string.test.js.map +0 -1
  177. package/out/test/completion.test.d.ts +0 -1
  178. package/out/test/completion.test.js +0 -467
  179. package/out/test/completion.test.js.map +0 -1
  180. package/out/test/file-path-rewrite.test.d.ts +0 -1
  181. package/out/test/file-path-rewrite.test.js +0 -64
  182. package/out/test/file-path-rewrite.test.js.map +0 -1
  183. package/out/test/ignore-error.test.d.ts +0 -1
  184. package/out/test/ignore-error.test.js +0 -87
  185. package/out/test/ignore-error.test.js.map +0 -1
  186. package/out/test/implicit-import-extension.test.d.ts +0 -1
  187. package/out/test/implicit-import-extension.test.js +0 -203
  188. package/out/test/implicit-import-extension.test.js.map +0 -1
  189. package/out/test/import-edits.test.d.ts +0 -1
  190. package/out/test/import-edits.test.js +0 -20
  191. package/out/test/import-edits.test.js.map +0 -1
  192. package/out/test/inlay-hints.test.d.ts +0 -1
  193. package/out/test/inlay-hints.test.js +0 -238
  194. package/out/test/inlay-hints.test.js.map +0 -1
  195. package/out/test/linking.test.d.ts +0 -1
  196. package/out/test/linking.test.js +0 -754
  197. package/out/test/linking.test.js.map +0 -1
  198. package/out/test/naked-strings.test.d.ts +0 -1
  199. package/out/test/naked-strings.test.js +0 -50
  200. package/out/test/naked-strings.test.js.map +0 -1
  201. package/out/test/parsing.test.d.ts +0 -1
  202. package/out/test/parsing.test.js +0 -773
  203. package/out/test/parsing.test.js.map +0 -1
  204. package/out/test/path-resolve.test.d.ts +0 -1
  205. package/out/test/path-resolve.test.js +0 -88
  206. package/out/test/path-resolve.test.js.map +0 -1
  207. package/out/test/references.test.d.ts +0 -1
  208. package/out/test/references.test.js +0 -168
  209. package/out/test/references.test.js.map +0 -1
  210. package/out/test/rqconfig.test.d.ts +0 -1
  211. package/out/test/rqconfig.test.js +0 -275
  212. package/out/test/rqconfig.test.js.map +0 -1
  213. package/out/test/test-requirement-refs.d.ts +0 -8
  214. package/out/test/test-requirement-refs.js +0 -35
  215. package/out/test/test-requirement-refs.js.map +0 -1
  216. package/out/test/testing.test.d.ts +0 -1
  217. package/out/test/testing.test.js +0 -23
  218. package/out/test/testing.test.js.map +0 -1
  219. package/out/test/validating.test.d.ts +0 -1
  220. package/out/test/validating.test.js +0 -117
  221. package/out/test/validating.test.js.map +0 -1
  222. package/out/tsconfig.tsbuildinfo +0 -1
@@ -1,266 +0,0 @@
1
- import { AstUtils, DefaultScopeComputation, DefaultScopeProvider, StreamScope, stream } from 'langium';
2
- import { isFromImport, isFromImportSpecifier, isIdea, isIdeaSet, isLocalReference, isModel, isNamespaceImport, isOneLinerIdea, isQualifiedImport, isQualifiedReference } from './generated/ast.js';
3
- import { findFromImportSpecifierByBinding, specifierBindingName } from './reqlan-import-bindings.js';
4
- import { findImportedDocument } from './reqlan-imports.js';
5
- import { pathResolveContextFromServices } from './reqlan-path-resolve.js';
6
- import { qualifiedReferenceImportPath } from './reqlan-references.js';
7
- export class ReqlanScopeComputation extends DefaultScopeComputation {
8
- async collectExportedSymbols(document) {
9
- const exports = [];
10
- const model = document.parseResult.value;
11
- if (isModel(model)) {
12
- for (const element of model.elements) {
13
- if (isIdea(element) || isOneLinerIdea(element) || isIdeaSet(element)) {
14
- this.addExportedSymbol(element, exports, document);
15
- }
16
- }
17
- }
18
- return exports;
19
- }
20
- }
21
- export class ReqlanScopeProvider extends DefaultScopeProvider {
22
- constructor(services) {
23
- super(services);
24
- this.documents = services.shared.workspace.LangiumDocuments;
25
- this.services = services;
26
- }
27
- getScope(context) {
28
- const container = context.container;
29
- if ((isFromImportSpecifier(container) || isQualifiedImport(container)) && context.property === 'idea') {
30
- const document = AstUtils.getDocument(container);
31
- const path = isFromImportSpecifier(container) ? container.$container.path : container.path;
32
- const importScope = this.scopeForImportPath(path, document);
33
- if (importScope) {
34
- return importScope;
35
- }
36
- return new StreamScope(stream([]));
37
- }
38
- if (isQualifiedReference(container)) {
39
- const document = AstUtils.getDocument(container);
40
- if (context.property === 'qualifier') {
41
- return this.scopeForReferenceQualifiers(document);
42
- }
43
- if (context.property === 'path') {
44
- return this.scopeForImportPaths(document);
45
- }
46
- if (context.property === 'ideaset') {
47
- const importedDocument = this.documentForQualifiedReference(container, document);
48
- if (importedDocument) {
49
- return this.scopeForIdeasets(importedDocument);
50
- }
51
- return this.scopeForIdeasets(document);
52
- }
53
- if (context.property === 'idea') {
54
- const qualifier = container.qualifier?.ref;
55
- if (qualifier && isIdeaSet(qualifier)) {
56
- return this.scopeForIdeasetMembers(qualifier, document);
57
- }
58
- const importDecl = container.qualifier?.ref ?? container.path?.ref;
59
- if (importDecl) {
60
- const importScope = this.scopeForImportDeclaration(importDecl, document);
61
- if (importScope) {
62
- return importScope;
63
- }
64
- }
65
- const path = qualifiedReferenceImportPath(container);
66
- if (path) {
67
- const importScope = this.scopeForImportPath(path, document);
68
- if (importScope) {
69
- return importScope;
70
- }
71
- }
72
- const aliasScope = this.scopeForImportAliasName(context.reference.$refText, document);
73
- if (aliasScope) {
74
- return aliasScope;
75
- }
76
- return this.scopeForFileIdeas(document);
77
- }
78
- }
79
- if (isIdeaSet(container) && context.property === 'members') {
80
- const document = AstUtils.getDocument(container);
81
- return this.scopeForFileIdeas(document);
82
- }
83
- if (isLocalReference(container)) {
84
- const document = AstUtils.getDocument(container);
85
- if (context.property === 'ideaset') {
86
- return this.scopeForIdeasets(document);
87
- }
88
- if (context.property === 'idea') {
89
- const ideasetRef = container.ideaset?.ref;
90
- if (ideasetRef && isIdeaSet(ideasetRef)) {
91
- return this.scopeForIdeasetMembers(ideasetRef, document);
92
- }
93
- return this.scopeForFileIdeas(document);
94
- }
95
- }
96
- return super.getScope(context);
97
- }
98
- scopeForFileIdeas(document) {
99
- const model = document.parseResult.value;
100
- if (!isModel(model)) {
101
- return new StreamScope(stream([]));
102
- }
103
- const descriptions = model.elements
104
- .filter(element => isIdea(element) || isOneLinerIdea(element))
105
- .map(idea => this.descriptions.createDescription(idea, idea.name, document));
106
- for (const importDecl of model.imports) {
107
- if (isFromImport(importDecl)) {
108
- for (const specifier of importDecl.specifiers) {
109
- const target = specifier.idea.ref;
110
- if (!target || (!isIdea(target) && !isOneLinerIdea(target))) {
111
- continue;
112
- }
113
- const name = specifierBindingName(specifier) ?? target.name;
114
- descriptions.push(this.descriptions.createDescription(target, name, AstUtils.getDocument(target)));
115
- }
116
- continue;
117
- }
118
- if (isQualifiedImport(importDecl)) {
119
- const target = importDecl.idea.ref;
120
- if (!target || (!isIdea(target) && !isOneLinerIdea(target))) {
121
- continue;
122
- }
123
- const name = importDecl.alias ?? target.name;
124
- descriptions.push(this.descriptions.createDescription(target, name, AstUtils.getDocument(target)));
125
- }
126
- }
127
- return new StreamScope(stream(descriptions));
128
- }
129
- scopeForIdeasetMembers(ideaset, document) {
130
- const descriptions = ideaset.members
131
- .map(member => member.ref)
132
- .filter((target) => target !== undefined && (isIdea(target) || isOneLinerIdea(target)))
133
- .map(target => this.descriptions.createDescription(target, target.name, AstUtils.getDocument(target)));
134
- if (descriptions.length > 0) {
135
- return new StreamScope(stream(descriptions));
136
- }
137
- return this.scopeForFileIdeas(document);
138
- }
139
- scopeForIdeasets(document) {
140
- const model = document.parseResult.value;
141
- if (!isModel(model)) {
142
- return new StreamScope(stream([]));
143
- }
144
- const descriptions = model.elements
145
- .filter(isIdeaSet)
146
- .map(ideaset => this.descriptions.createDescription(ideaset, ideaset.name, document));
147
- return new StreamScope(stream(descriptions));
148
- }
149
- scopeForReferenceQualifiers(document) {
150
- const model = document.parseResult.value;
151
- if (!isModel(model)) {
152
- return new StreamScope(stream([]));
153
- }
154
- const locals = model.elements
155
- .filter(element => isIdea(element) || isOneLinerIdea(element) || isIdeaSet(element))
156
- .map(element => this.descriptions.createDescription(element, element.name, document));
157
- const namedImports = model.imports.flatMap(importDecl => {
158
- if (isFromImport(importDecl)) {
159
- return importDecl.specifiers.flatMap(specifier => {
160
- const alias = specifierBindingName(specifier);
161
- return alias
162
- ? [this.descriptions.createDescription(specifier, alias, document)]
163
- : [];
164
- });
165
- }
166
- const alias = importAlias(importDecl);
167
- return alias ? [this.descriptions.createDescription(importDecl, alias, document)] : [];
168
- });
169
- return new StreamScope(stream([...locals, ...namedImports]));
170
- }
171
- scopeForImportPaths(document) {
172
- const model = document.parseResult.value;
173
- if (!isModel(model)) {
174
- return new StreamScope(stream([]));
175
- }
176
- const descriptions = model.imports.map(importDecl => this.descriptions.createDescription(importDecl, importDecl.path, document));
177
- return new StreamScope(stream(descriptions));
178
- }
179
- scopeForImportDeclaration(importDecl, document) {
180
- if (isFromImportSpecifier(importDecl)) {
181
- const imported = this.findImportedDocument(importDecl.$container.path, document);
182
- if (!imported) {
183
- return undefined;
184
- }
185
- const target = importDecl.idea.ref;
186
- if (!target || (!isIdea(target) && !isOneLinerIdea(target))) {
187
- return undefined;
188
- }
189
- const description = this.descriptions.createDescription(target, target.name, imported);
190
- return new StreamScope(stream([description]));
191
- }
192
- if (isFromImport(importDecl)) {
193
- const imported = this.findImportedDocument(importDecl.path, document);
194
- if (!imported) {
195
- return undefined;
196
- }
197
- const descriptions = importDecl.specifiers
198
- .map(specifier => specifier.idea.ref)
199
- .filter((target) => target !== undefined && (isIdea(target) || isOneLinerIdea(target)))
200
- .map(target => this.descriptions.createDescription(target, target.name, imported));
201
- return new StreamScope(stream(descriptions));
202
- }
203
- if (isQualifiedImport(importDecl)) {
204
- const imported = this.findImportedDocument(importDecl.path, document);
205
- if (!imported) {
206
- return undefined;
207
- }
208
- const target = importDecl.idea.ref;
209
- if (!target || (!isIdea(target) && !isOneLinerIdea(target))) {
210
- return undefined;
211
- }
212
- const description = this.descriptions.createDescription(target, target.name, imported);
213
- return new StreamScope(stream([description]));
214
- }
215
- if (isNamespaceImport(importDecl)) {
216
- return this.scopeForImportPath(importDecl.path, document);
217
- }
218
- return undefined;
219
- }
220
- scopeForImportAliasName(alias, document) {
221
- const model = document.parseResult.value;
222
- if (!isModel(model)) {
223
- return undefined;
224
- }
225
- const specifier = findFromImportSpecifierByBinding(model.imports, alias);
226
- if (specifier) {
227
- return this.scopeForImportDeclaration(specifier, document);
228
- }
229
- const importDecl = model.imports.find(entry => importAlias(entry) === alias);
230
- if (!importDecl) {
231
- return undefined;
232
- }
233
- return this.scopeForImportDeclaration(importDecl, document);
234
- }
235
- scopeForImportPath(path, document) {
236
- const imported = this.findImportedDocument(path, document);
237
- if (!imported) {
238
- return undefined;
239
- }
240
- const model = imported.parseResult.value;
241
- if (!isModel(model)) {
242
- return undefined;
243
- }
244
- const descriptions = model.elements
245
- .filter(element => isIdea(element) || isOneLinerIdea(element))
246
- .map(idea => this.descriptions.createDescription(idea, idea.name, imported));
247
- return new StreamScope(stream(descriptions));
248
- }
249
- findImportedDocument(path, document) {
250
- return findImportedDocument(path, document, this.documents, pathResolveContextFromServices(this.services));
251
- }
252
- documentForQualifiedReference(reference, document) {
253
- const path = qualifiedReferenceImportPath(reference);
254
- if (!path) {
255
- return undefined;
256
- }
257
- return this.findImportedDocument(path, document);
258
- }
259
- }
260
- function importAlias(entry) {
261
- if (isFromImport(entry)) {
262
- return undefined;
263
- }
264
- return entry.alias;
265
- }
266
- //# sourceMappingURL=reqlan-scope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reqlan-scope.js","sourceRoot":"","sources":["../../src/reqlan-scope.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Semantic highlighting for requirement graph syntax: attributes, ideas, and references.
3
- */
4
- import type { AstNode } from 'langium';
5
- import { AbstractSemanticTokenProvider, type SemanticTokenAcceptor } from 'langium/lsp';
6
- export declare class ReqlanSemanticTokenProvider extends AbstractSemanticTokenProvider {
7
- protected highlightElement(node: AstNode, acceptor: SemanticTokenAcceptor): void;
8
- }
@@ -1,97 +0,0 @@
1
- import { AbstractSemanticTokenProvider } from 'langium/lsp';
2
- import { SemanticTokenModifiers, SemanticTokenTypes } from 'vscode-languageserver';
3
- import { isAttribute, isCodeSnippet, isFileReference, isFileSymbolReference, isFromImport, isFromImportSpecifier, isIdea, isIdeaSet, isImport, isLocalReference, isMarkdownLink, isQualifiedImport, isQualifiedReference, isOneLinerIdea } from './generated/ast.js';
4
- export class ReqlanSemanticTokenProvider extends AbstractSemanticTokenProvider {
5
- highlightElement(node, acceptor) {
6
- if (isAttribute(node)) {
7
- acceptor({ node, keyword: '@', type: SemanticTokenTypes.operator });
8
- acceptor({ node, property: 'name', type: SemanticTokenTypes.decorator });
9
- return;
10
- }
11
- if (isIdea(node) || isOneLinerIdea(node)) {
12
- acceptor({
13
- node,
14
- property: 'name',
15
- type: SemanticTokenTypes.type,
16
- modifier: SemanticTokenModifiers.definition
17
- });
18
- return;
19
- }
20
- if (isIdeaSet(node)) {
21
- acceptor({
22
- node,
23
- property: 'name',
24
- type: SemanticTokenTypes.namespace,
25
- modifier: SemanticTokenModifiers.definition
26
- });
27
- return;
28
- }
29
- if (isQualifiedReference(node)) {
30
- if (node.qualifier) {
31
- acceptor({ node, property: 'qualifier', type: SemanticTokenTypes.namespace });
32
- }
33
- if (node.path) {
34
- acceptor({ node, property: 'path', type: SemanticTokenTypes.string });
35
- }
36
- if (node.ideaset) {
37
- acceptor({ node, property: 'ideaset', type: SemanticTokenTypes.namespace });
38
- }
39
- if (node.idea) {
40
- acceptor({ node, property: 'idea', type: SemanticTokenTypes.variable });
41
- }
42
- return;
43
- }
44
- if (isLocalReference(node)) {
45
- if (node.ideaset) {
46
- acceptor({ node, property: 'ideaset', type: SemanticTokenTypes.namespace });
47
- }
48
- if (node.idea) {
49
- acceptor({ node, property: 'idea', type: SemanticTokenTypes.variable });
50
- }
51
- if (node.attribute) {
52
- acceptor({ node, property: 'attribute', type: SemanticTokenTypes.property });
53
- }
54
- return;
55
- }
56
- if (isFileReference(node) || isFileSymbolReference(node)) {
57
- acceptor({ node, property: 'file', type: SemanticTokenTypes.string });
58
- if (isFileSymbolReference(node)) {
59
- acceptor({ node, property: 'symbols', type: SemanticTokenTypes.method });
60
- }
61
- return;
62
- }
63
- if (isCodeSnippet(node)) {
64
- return;
65
- }
66
- if (isMarkdownLink(node)) {
67
- return;
68
- }
69
- if (isImport(node)) {
70
- highlightImportKeywords(node, acceptor);
71
- acceptor({ node, property: 'path', type: SemanticTokenTypes.string, modifier: SemanticTokenModifiers.declaration });
72
- if (!isFromImport(node) && node.alias) {
73
- acceptor({ node, property: 'alias', type: SemanticTokenTypes.namespace, modifier: SemanticTokenModifiers.declaration });
74
- }
75
- }
76
- if (isFromImportSpecifier(node)) {
77
- acceptor({ node, property: 'idea', type: SemanticTokenTypes.variable });
78
- if (node.alias) {
79
- acceptor({ node, property: 'alias', type: SemanticTokenTypes.namespace, modifier: SemanticTokenModifiers.declaration });
80
- acceptor({ node, keyword: 'as', type: SemanticTokenTypes.keyword });
81
- }
82
- }
83
- if (isQualifiedImport(node)) {
84
- acceptor({ node, property: 'idea', type: SemanticTokenTypes.variable });
85
- }
86
- }
87
- }
88
- function highlightImportKeywords(node, acceptor) {
89
- if (isFromImport(node)) {
90
- acceptor({ node, keyword: 'from', type: SemanticTokenTypes.keyword });
91
- }
92
- acceptor({ node, keyword: 'import', type: SemanticTokenTypes.keyword });
93
- if (!isFromImport(node) && node.alias) {
94
- acceptor({ node, keyword: 'as', type: SemanticTokenTypes.keyword });
95
- }
96
- }
97
- //# sourceMappingURL=reqlan-semantic-token-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reqlan-semantic-token-provider.js","sourceRoot":"","sources":["../../src/reqlan-semantic-token-provider.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Custom token builder so line comments do not match `//` in URLs or inside string literals,
3
- * and so `@` only introduces attributes at the start of a line.
4
- */
5
- import type { Grammar } from 'langium';
6
- import { DefaultTokenBuilder, type TokenBuilderOptions } from 'langium';
7
- export declare class ReqlanTokenBuilder extends DefaultTokenBuilder {
8
- buildTokens(grammar: Grammar, options?: TokenBuilderOptions): any;
9
- protected buildTerminalToken(terminal: {
10
- name: string;
11
- }): import('chevrotain').TokenType;
12
- }