@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,3045 +0,0 @@
1
- /******************************************************************************
2
- * This file was generated by langium-cli 4.3.0.
3
- * DO NOT EDIT MANUALLY!
4
- ******************************************************************************/
5
- import { loadGrammarFromJson } from 'langium';
6
- let loadedReqlanGrammar;
7
- export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar = loadGrammarFromJson(`{
8
- "$type": "Grammar",
9
- "isDeclared": true,
10
- "name": "Reqlan",
11
- "rules": [
12
- {
13
- "$type": "ParserRule",
14
- "entry": true,
15
- "name": "Model",
16
- "definition": {
17
- "$type": "Group",
18
- "elements": [
19
- {
20
- "$type": "Group",
21
- "elements": [
22
- {
23
- "$type": "RuleCall",
24
- "rule": {
25
- "$ref": "#/rules@48"
26
- },
27
- "arguments": [],
28
- "cardinality": "*"
29
- },
30
- {
31
- "$type": "Assignment",
32
- "feature": "imports",
33
- "operator": "+=",
34
- "terminal": {
35
- "$type": "RuleCall",
36
- "rule": {
37
- "$ref": "#/rules@43"
38
- },
39
- "arguments": []
40
- }
41
- }
42
- ],
43
- "cardinality": "*"
44
- },
45
- {
46
- "$type": "Group",
47
- "elements": [
48
- {
49
- "$type": "RuleCall",
50
- "rule": {
51
- "$ref": "#/rules@48"
52
- },
53
- "arguments": [],
54
- "cardinality": "*"
55
- },
56
- {
57
- "$type": "Assignment",
58
- "feature": "elements",
59
- "operator": "+=",
60
- "terminal": {
61
- "$type": "RuleCall",
62
- "rule": {
63
- "$ref": "#/rules@1"
64
- },
65
- "arguments": []
66
- }
67
- }
68
- ],
69
- "cardinality": "*"
70
- },
71
- {
72
- "$type": "RuleCall",
73
- "rule": {
74
- "$ref": "#/rules@48"
75
- },
76
- "arguments": [],
77
- "cardinality": "*"
78
- }
79
- ]
80
- },
81
- "fragment": false,
82
- "parameters": []
83
- },
84
- {
85
- "$type": "ParserRule",
86
- "name": "TopLevelElement",
87
- "definition": {
88
- "$type": "Alternatives",
89
- "elements": [
90
- {
91
- "$type": "RuleCall",
92
- "rule": {
93
- "$ref": "#/rules@5"
94
- },
95
- "arguments": []
96
- },
97
- {
98
- "$type": "RuleCall",
99
- "rule": {
100
- "$ref": "#/rules@6"
101
- },
102
- "arguments": []
103
- },
104
- {
105
- "$type": "RuleCall",
106
- "rule": {
107
- "$ref": "#/rules@2"
108
- },
109
- "arguments": []
110
- }
111
- ]
112
- },
113
- "entry": false,
114
- "fragment": false,
115
- "parameters": []
116
- },
117
- {
118
- "$type": "ParserRule",
119
- "name": "OneLinerIdea",
120
- "definition": {
121
- "$type": "Group",
122
- "elements": [
123
- {
124
- "$type": "Assignment",
125
- "feature": "name",
126
- "operator": "=",
127
- "terminal": {
128
- "$type": "RuleCall",
129
- "rule": {
130
- "$ref": "#/rules@7"
131
- },
132
- "arguments": []
133
- }
134
- },
135
- {
136
- "$type": "Assignment",
137
- "feature": "body",
138
- "operator": "=",
139
- "terminal": {
140
- "$type": "RuleCall",
141
- "rule": {
142
- "$ref": "#/rules@3"
143
- },
144
- "arguments": []
145
- }
146
- }
147
- ]
148
- },
149
- "entry": false,
150
- "fragment": false,
151
- "parameters": []
152
- },
153
- {
154
- "$type": "ParserRule",
155
- "name": "OneLinerBody",
156
- "definition": {
157
- "$type": "Assignment",
158
- "feature": "content",
159
- "operator": "+=",
160
- "terminal": {
161
- "$type": "Alternatives",
162
- "elements": [
163
- {
164
- "$type": "RuleCall",
165
- "rule": {
166
- "$ref": "#/rules@34"
167
- },
168
- "arguments": []
169
- },
170
- {
171
- "$type": "RuleCall",
172
- "rule": {
173
- "$ref": "#/rules@37"
174
- },
175
- "arguments": []
176
- },
177
- {
178
- "$type": "RuleCall",
179
- "rule": {
180
- "$ref": "#/rules@35"
181
- },
182
- "arguments": []
183
- },
184
- {
185
- "$type": "RuleCall",
186
- "rule": {
187
- "$ref": "#/rules@15"
188
- },
189
- "arguments": []
190
- }
191
- ]
192
- },
193
- "cardinality": "+"
194
- },
195
- "entry": false,
196
- "fragment": false,
197
- "parameters": []
198
- },
199
- {
200
- "$type": "ParserRule",
201
- "name": "IdeaDeclaration",
202
- "definition": {
203
- "$type": "Alternatives",
204
- "elements": [
205
- {
206
- "$type": "RuleCall",
207
- "rule": {
208
- "$ref": "#/rules@5"
209
- },
210
- "arguments": []
211
- },
212
- {
213
- "$type": "RuleCall",
214
- "rule": {
215
- "$ref": "#/rules@2"
216
- },
217
- "arguments": []
218
- }
219
- ]
220
- },
221
- "entry": false,
222
- "fragment": false,
223
- "parameters": []
224
- },
225
- {
226
- "$type": "ParserRule",
227
- "name": "Idea",
228
- "definition": {
229
- "$type": "Group",
230
- "elements": [
231
- {
232
- "$type": "Assignment",
233
- "feature": "name",
234
- "operator": "=",
235
- "terminal": {
236
- "$type": "RuleCall",
237
- "rule": {
238
- "$ref": "#/rules@7"
239
- },
240
- "arguments": []
241
- }
242
- },
243
- {
244
- "$type": "Keyword",
245
- "value": "{"
246
- },
247
- {
248
- "$type": "Group",
249
- "elements": [
250
- {
251
- "$type": "RuleCall",
252
- "rule": {
253
- "$ref": "#/rules@48"
254
- },
255
- "arguments": [],
256
- "cardinality": "*"
257
- },
258
- {
259
- "$type": "Assignment",
260
- "feature": "elements",
261
- "operator": "+=",
262
- "terminal": {
263
- "$type": "RuleCall",
264
- "rule": {
265
- "$ref": "#/rules@10"
266
- },
267
- "arguments": []
268
- }
269
- }
270
- ],
271
- "cardinality": "*"
272
- },
273
- {
274
- "$type": "RuleCall",
275
- "rule": {
276
- "$ref": "#/rules@48"
277
- },
278
- "arguments": [],
279
- "cardinality": "*"
280
- },
281
- {
282
- "$type": "Keyword",
283
- "value": "}"
284
- }
285
- ]
286
- },
287
- "entry": false,
288
- "fragment": false,
289
- "parameters": []
290
- },
291
- {
292
- "$type": "ParserRule",
293
- "name": "IdeaSet",
294
- "definition": {
295
- "$type": "Group",
296
- "elements": [
297
- {
298
- "$type": "Assignment",
299
- "feature": "name",
300
- "operator": "=",
301
- "terminal": {
302
- "$type": "RuleCall",
303
- "rule": {
304
- "$ref": "#/rules@7"
305
- },
306
- "arguments": []
307
- }
308
- },
309
- {
310
- "$type": "Keyword",
311
- "value": "("
312
- },
313
- {
314
- "$type": "RuleCall",
315
- "rule": {
316
- "$ref": "#/rules@48"
317
- },
318
- "arguments": [],
319
- "cardinality": "*"
320
- },
321
- {
322
- "$type": "Assignment",
323
- "feature": "members",
324
- "operator": "+=",
325
- "terminal": {
326
- "$type": "CrossReference",
327
- "type": {
328
- "$ref": "#/rules@4"
329
- },
330
- "terminal": {
331
- "$type": "RuleCall",
332
- "rule": {
333
- "$ref": "#/rules@8"
334
- },
335
- "arguments": []
336
- },
337
- "deprecatedSyntax": false,
338
- "isMulti": false
339
- }
340
- },
341
- {
342
- "$type": "Group",
343
- "elements": [
344
- {
345
- "$type": "RuleCall",
346
- "rule": {
347
- "$ref": "#/rules@48"
348
- },
349
- "arguments": [],
350
- "cardinality": "*"
351
- },
352
- {
353
- "$type": "Keyword",
354
- "value": ","
355
- },
356
- {
357
- "$type": "RuleCall",
358
- "rule": {
359
- "$ref": "#/rules@48"
360
- },
361
- "arguments": [],
362
- "cardinality": "*"
363
- },
364
- {
365
- "$type": "Assignment",
366
- "feature": "members",
367
- "operator": "+=",
368
- "terminal": {
369
- "$type": "CrossReference",
370
- "type": {
371
- "$ref": "#/rules@4"
372
- },
373
- "terminal": {
374
- "$type": "RuleCall",
375
- "rule": {
376
- "$ref": "#/rules@8"
377
- },
378
- "arguments": []
379
- },
380
- "deprecatedSyntax": false,
381
- "isMulti": false
382
- }
383
- }
384
- ],
385
- "cardinality": "*"
386
- },
387
- {
388
- "$type": "RuleCall",
389
- "rule": {
390
- "$ref": "#/rules@48"
391
- },
392
- "arguments": [],
393
- "cardinality": "*"
394
- },
395
- {
396
- "$type": "Keyword",
397
- "value": ")"
398
- }
399
- ]
400
- },
401
- "entry": false,
402
- "fragment": false,
403
- "parameters": []
404
- },
405
- {
406
- "$type": "ParserRule",
407
- "name": "IdeaName",
408
- "dataType": "string",
409
- "definition": {
410
- "$type": "Alternatives",
411
- "elements": [
412
- {
413
- "$type": "RuleCall",
414
- "rule": {
415
- "$ref": "#/rules@53"
416
- },
417
- "arguments": []
418
- },
419
- {
420
- "$type": "RuleCall",
421
- "rule": {
422
- "$ref": "#/rules@54"
423
- },
424
- "arguments": []
425
- }
426
- ]
427
- },
428
- "entry": false,
429
- "fragment": false,
430
- "parameters": []
431
- },
432
- {
433
- "$type": "ParserRule",
434
- "name": "IdeaMemberName",
435
- "dataType": "string",
436
- "definition": {
437
- "$type": "Alternatives",
438
- "elements": [
439
- {
440
- "$type": "RuleCall",
441
- "rule": {
442
- "$ref": "#/rules@53"
443
- },
444
- "arguments": []
445
- },
446
- {
447
- "$type": "RuleCall",
448
- "rule": {
449
- "$ref": "#/rules@54"
450
- },
451
- "arguments": []
452
- }
453
- ]
454
- },
455
- "entry": false,
456
- "fragment": false,
457
- "parameters": []
458
- },
459
- {
460
- "$type": "ParserRule",
461
- "name": "ReferenceName",
462
- "dataType": "string",
463
- "definition": {
464
- "$type": "RuleCall",
465
- "rule": {
466
- "$ref": "#/rules@53"
467
- },
468
- "arguments": []
469
- },
470
- "entry": false,
471
- "fragment": false,
472
- "parameters": []
473
- },
474
- {
475
- "$type": "ParserRule",
476
- "name": "BodyElement",
477
- "definition": {
478
- "$type": "Alternatives",
479
- "elements": [
480
- {
481
- "$type": "RuleCall",
482
- "rule": {
483
- "$ref": "#/rules@18"
484
- },
485
- "arguments": []
486
- },
487
- {
488
- "$type": "RuleCall",
489
- "rule": {
490
- "$ref": "#/rules@34"
491
- },
492
- "arguments": []
493
- },
494
- {
495
- "$type": "RuleCall",
496
- "rule": {
497
- "$ref": "#/rules@35"
498
- },
499
- "arguments": []
500
- },
501
- {
502
- "$type": "RuleCall",
503
- "rule": {
504
- "$ref": "#/rules@37"
505
- },
506
- "arguments": []
507
- },
508
- {
509
- "$type": "RuleCall",
510
- "rule": {
511
- "$ref": "#/rules@14"
512
- },
513
- "arguments": []
514
- },
515
- {
516
- "$type": "RuleCall",
517
- "rule": {
518
- "$ref": "#/rules@25"
519
- },
520
- "arguments": []
521
- },
522
- {
523
- "$type": "RuleCall",
524
- "rule": {
525
- "$ref": "#/rules@26"
526
- },
527
- "arguments": []
528
- },
529
- {
530
- "$type": "RuleCall",
531
- "rule": {
532
- "$ref": "#/rules@11"
533
- },
534
- "arguments": []
535
- }
536
- ]
537
- },
538
- "entry": false,
539
- "fragment": false,
540
- "parameters": []
541
- },
542
- {
543
- "$type": "ParserRule",
544
- "name": "BodyLine",
545
- "definition": {
546
- "$type": "Assignment",
547
- "feature": "parts",
548
- "operator": "+=",
549
- "terminal": {
550
- "$type": "RuleCall",
551
- "rule": {
552
- "$ref": "#/rules@12"
553
- },
554
- "arguments": []
555
- },
556
- "cardinality": "+"
557
- },
558
- "entry": false,
559
- "fragment": false,
560
- "parameters": []
561
- },
562
- {
563
- "$type": "ParserRule",
564
- "name": "RichTextPart",
565
- "definition": {
566
- "$type": "Alternatives",
567
- "elements": [
568
- {
569
- "$type": "RuleCall",
570
- "rule": {
571
- "$ref": "#/rules@34"
572
- },
573
- "arguments": []
574
- },
575
- {
576
- "$type": "RuleCall",
577
- "rule": {
578
- "$ref": "#/rules@35"
579
- },
580
- "arguments": []
581
- },
582
- {
583
- "$type": "RuleCall",
584
- "rule": {
585
- "$ref": "#/rules@37"
586
- },
587
- "arguments": []
588
- },
589
- {
590
- "$type": "Assignment",
591
- "feature": "inlineCode",
592
- "operator": "=",
593
- "terminal": {
594
- "$type": "RuleCall",
595
- "rule": {
596
- "$ref": "#/rules@58"
597
- },
598
- "arguments": []
599
- }
600
- },
601
- {
602
- "$type": "Assignment",
603
- "feature": "text",
604
- "operator": "=",
605
- "terminal": {
606
- "$type": "RuleCall",
607
- "rule": {
608
- "$ref": "#/rules@16"
609
- },
610
- "arguments": []
611
- }
612
- },
613
- {
614
- "$type": "Assignment",
615
- "feature": "punct",
616
- "operator": "=",
617
- "terminal": {
618
- "$type": "RuleCall",
619
- "rule": {
620
- "$ref": "#/rules@17"
621
- },
622
- "arguments": []
623
- }
624
- },
625
- {
626
- "$type": "Assignment",
627
- "feature": "lparen",
628
- "operator": "=",
629
- "terminal": {
630
- "$type": "Keyword",
631
- "value": "("
632
- }
633
- },
634
- {
635
- "$type": "Assignment",
636
- "feature": "rparen",
637
- "operator": "=",
638
- "terminal": {
639
- "$type": "Keyword",
640
- "value": ")"
641
- }
642
- }
643
- ]
644
- },
645
- "entry": false,
646
- "fragment": false,
647
- "parameters": []
648
- },
649
- {
650
- "$type": "ParserRule",
651
- "name": "InlineTextPart",
652
- "definition": {
653
- "$type": "Alternatives",
654
- "elements": [
655
- {
656
- "$type": "RuleCall",
657
- "rule": {
658
- "$ref": "#/rules@34"
659
- },
660
- "arguments": []
661
- },
662
- {
663
- "$type": "RuleCall",
664
- "rule": {
665
- "$ref": "#/rules@35"
666
- },
667
- "arguments": []
668
- },
669
- {
670
- "$type": "RuleCall",
671
- "rule": {
672
- "$ref": "#/rules@37"
673
- },
674
- "arguments": []
675
- },
676
- {
677
- "$type": "Assignment",
678
- "feature": "inlineCode",
679
- "operator": "=",
680
- "terminal": {
681
- "$type": "RuleCall",
682
- "rule": {
683
- "$ref": "#/rules@58"
684
- },
685
- "arguments": []
686
- }
687
- },
688
- {
689
- "$type": "Assignment",
690
- "feature": "text",
691
- "operator": "=",
692
- "terminal": {
693
- "$type": "RuleCall",
694
- "rule": {
695
- "$ref": "#/rules@16"
696
- },
697
- "arguments": []
698
- }
699
- },
700
- {
701
- "$type": "Assignment",
702
- "feature": "punct",
703
- "operator": "=",
704
- "terminal": {
705
- "$type": "RuleCall",
706
- "rule": {
707
- "$ref": "#/rules@17"
708
- },
709
- "arguments": []
710
- }
711
- }
712
- ]
713
- },
714
- "entry": false,
715
- "fragment": false,
716
- "parameters": []
717
- },
718
- {
719
- "$type": "ParserRule",
720
- "name": "CodeSnippet",
721
- "definition": {
722
- "$type": "Assignment",
723
- "feature": "raw",
724
- "operator": "=",
725
- "terminal": {
726
- "$type": "RuleCall",
727
- "rule": {
728
- "$ref": "#/rules@59"
729
- },
730
- "arguments": []
731
- }
732
- },
733
- "entry": false,
734
- "fragment": false,
735
- "parameters": []
736
- },
737
- {
738
- "$type": "ParserRule",
739
- "name": "OneLinerText",
740
- "dataType": "string",
741
- "definition": {
742
- "$type": "Alternatives",
743
- "elements": [
744
- {
745
- "$type": "RuleCall",
746
- "rule": {
747
- "$ref": "#/rules@56"
748
- },
749
- "arguments": []
750
- },
751
- {
752
- "$type": "RuleCall",
753
- "rule": {
754
- "$ref": "#/rules@53"
755
- },
756
- "arguments": []
757
- },
758
- {
759
- "$type": "RuleCall",
760
- "rule": {
761
- "$ref": "#/rules@55"
762
- },
763
- "arguments": []
764
- },
765
- {
766
- "$type": "RuleCall",
767
- "rule": {
768
- "$ref": "#/rules@58"
769
- },
770
- "arguments": []
771
- },
772
- {
773
- "$type": "RuleCall",
774
- "rule": {
775
- "$ref": "#/rules@57"
776
- },
777
- "arguments": []
778
- },
779
- {
780
- "$type": "RuleCall",
781
- "rule": {
782
- "$ref": "#/rules@17"
783
- },
784
- "arguments": []
785
- },
786
- {
787
- "$type": "Keyword",
788
- "value": "("
789
- },
790
- {
791
- "$type": "Keyword",
792
- "value": ")"
793
- },
794
- {
795
- "$type": "Keyword",
796
- "value": "|"
797
- },
798
- {
799
- "$type": "Keyword",
800
- "value": "from"
801
- },
802
- {
803
- "$type": "Keyword",
804
- "value": "import"
805
- },
806
- {
807
- "$type": "Keyword",
808
- "value": "as"
809
- },
810
- {
811
- "$type": "Keyword",
812
- "value": "\`"
813
- }
814
- ]
815
- },
816
- "entry": false,
817
- "fragment": false,
818
- "parameters": []
819
- },
820
- {
821
- "$type": "ParserRule",
822
- "name": "PlainText",
823
- "dataType": "string",
824
- "definition": {
825
- "$type": "Alternatives",
826
- "elements": [
827
- {
828
- "$type": "RuleCall",
829
- "rule": {
830
- "$ref": "#/rules@56"
831
- },
832
- "arguments": []
833
- },
834
- {
835
- "$type": "RuleCall",
836
- "rule": {
837
- "$ref": "#/rules@53"
838
- },
839
- "arguments": []
840
- },
841
- {
842
- "$type": "RuleCall",
843
- "rule": {
844
- "$ref": "#/rules@55"
845
- },
846
- "arguments": []
847
- },
848
- {
849
- "$type": "RuleCall",
850
- "rule": {
851
- "$ref": "#/rules@58"
852
- },
853
- "arguments": []
854
- },
855
- {
856
- "$type": "RuleCall",
857
- "rule": {
858
- "$ref": "#/rules@57"
859
- },
860
- "arguments": []
861
- },
862
- {
863
- "$type": "RuleCall",
864
- "rule": {
865
- "$ref": "#/rules@17"
866
- },
867
- "arguments": []
868
- },
869
- {
870
- "$type": "Keyword",
871
- "value": "["
872
- },
873
- {
874
- "$type": "Keyword",
875
- "value": "]"
876
- },
877
- {
878
- "$type": "Keyword",
879
- "value": "|"
880
- },
881
- {
882
- "$type": "Keyword",
883
- "value": "from"
884
- },
885
- {
886
- "$type": "Keyword",
887
- "value": "import"
888
- },
889
- {
890
- "$type": "Keyword",
891
- "value": "as"
892
- },
893
- {
894
- "$type": "Keyword",
895
- "value": "\`"
896
- }
897
- ]
898
- },
899
- "entry": false,
900
- "fragment": false,
901
- "parameters": []
902
- },
903
- {
904
- "$type": "ParserRule",
905
- "name": "PlainPunctuation",
906
- "dataType": "string",
907
- "definition": {
908
- "$type": "Alternatives",
909
- "elements": [
910
- {
911
- "$type": "Keyword",
912
- "value": "."
913
- },
914
- {
915
- "$type": "Keyword",
916
- "value": ","
917
- },
918
- {
919
- "$type": "Keyword",
920
- "value": ":"
921
- },
922
- {
923
- "$type": "Keyword",
924
- "value": ";"
925
- },
926
- {
927
- "$type": "Keyword",
928
- "value": "!"
929
- },
930
- {
931
- "$type": "Keyword",
932
- "value": "?"
933
- },
934
- {
935
- "$type": "Keyword",
936
- "value": "-"
937
- }
938
- ]
939
- },
940
- "entry": false,
941
- "fragment": false,
942
- "parameters": []
943
- },
944
- {
945
- "$type": "ParserRule",
946
- "name": "Attribute",
947
- "definition": {
948
- "$type": "Group",
949
- "elements": [
950
- {
951
- "$type": "Keyword",
952
- "value": "@"
953
- },
954
- {
955
- "$type": "Assignment",
956
- "feature": "name",
957
- "operator": "=",
958
- "terminal": {
959
- "$type": "RuleCall",
960
- "rule": {
961
- "$ref": "#/rules@53"
962
- },
963
- "arguments": []
964
- }
965
- },
966
- {
967
- "$type": "Assignment",
968
- "feature": "negated",
969
- "operator": "?=",
970
- "terminal": {
971
- "$type": "Keyword",
972
- "value": "!"
973
- },
974
- "cardinality": "?"
975
- },
976
- {
977
- "$type": "Group",
978
- "elements": [
979
- {
980
- "$type": "Keyword",
981
- "value": ":",
982
- "cardinality": "?"
983
- },
984
- {
985
- "$type": "Assignment",
986
- "feature": "value",
987
- "operator": "=",
988
- "terminal": {
989
- "$type": "RuleCall",
990
- "rule": {
991
- "$ref": "#/rules@19"
992
- },
993
- "arguments": []
994
- }
995
- }
996
- ],
997
- "cardinality": "?"
998
- }
999
- ]
1000
- },
1001
- "entry": false,
1002
- "fragment": false,
1003
- "parameters": []
1004
- },
1005
- {
1006
- "$type": "ParserRule",
1007
- "name": "AttributeValue",
1008
- "definition": {
1009
- "$type": "Alternatives",
1010
- "elements": [
1011
- {
1012
- "$type": "RuleCall",
1013
- "rule": {
1014
- "$ref": "#/rules@21"
1015
- },
1016
- "arguments": []
1017
- },
1018
- {
1019
- "$type": "RuleCall",
1020
- "rule": {
1021
- "$ref": "#/rules@24"
1022
- },
1023
- "arguments": []
1024
- },
1025
- {
1026
- "$type": "RuleCall",
1027
- "rule": {
1028
- "$ref": "#/rules@20"
1029
- },
1030
- "arguments": []
1031
- }
1032
- ]
1033
- },
1034
- "entry": false,
1035
- "fragment": false,
1036
- "parameters": []
1037
- },
1038
- {
1039
- "$type": "ParserRule",
1040
- "name": "ScalarValue",
1041
- "definition": {
1042
- "$type": "Assignment",
1043
- "feature": "parts",
1044
- "operator": "+=",
1045
- "terminal": {
1046
- "$type": "RuleCall",
1047
- "rule": {
1048
- "$ref": "#/rules@13"
1049
- },
1050
- "arguments": []
1051
- },
1052
- "cardinality": "+"
1053
- },
1054
- "entry": false,
1055
- "fragment": false,
1056
- "parameters": []
1057
- },
1058
- {
1059
- "$type": "ParserRule",
1060
- "name": "BlockValue",
1061
- "definition": {
1062
- "$type": "Group",
1063
- "elements": [
1064
- {
1065
- "$type": "Keyword",
1066
- "value": "{"
1067
- },
1068
- {
1069
- "$type": "Group",
1070
- "elements": [
1071
- {
1072
- "$type": "RuleCall",
1073
- "rule": {
1074
- "$ref": "#/rules@48"
1075
- },
1076
- "arguments": [],
1077
- "cardinality": "*"
1078
- },
1079
- {
1080
- "$type": "Assignment",
1081
- "feature": "elements",
1082
- "operator": "+=",
1083
- "terminal": {
1084
- "$type": "RuleCall",
1085
- "rule": {
1086
- "$ref": "#/rules@22"
1087
- },
1088
- "arguments": []
1089
- }
1090
- }
1091
- ],
1092
- "cardinality": "*"
1093
- },
1094
- {
1095
- "$type": "RuleCall",
1096
- "rule": {
1097
- "$ref": "#/rules@48"
1098
- },
1099
- "arguments": [],
1100
- "cardinality": "*"
1101
- },
1102
- {
1103
- "$type": "Keyword",
1104
- "value": "}"
1105
- }
1106
- ]
1107
- },
1108
- "entry": false,
1109
- "fragment": false,
1110
- "parameters": []
1111
- },
1112
- {
1113
- "$type": "ParserRule",
1114
- "name": "BlockElement",
1115
- "definition": {
1116
- "$type": "Alternatives",
1117
- "elements": [
1118
- {
1119
- "$type": "RuleCall",
1120
- "rule": {
1121
- "$ref": "#/rules@18"
1122
- },
1123
- "arguments": []
1124
- },
1125
- {
1126
- "$type": "RuleCall",
1127
- "rule": {
1128
- "$ref": "#/rules@34"
1129
- },
1130
- "arguments": []
1131
- },
1132
- {
1133
- "$type": "RuleCall",
1134
- "rule": {
1135
- "$ref": "#/rules@35"
1136
- },
1137
- "arguments": []
1138
- },
1139
- {
1140
- "$type": "RuleCall",
1141
- "rule": {
1142
- "$ref": "#/rules@37"
1143
- },
1144
- "arguments": []
1145
- },
1146
- {
1147
- "$type": "RuleCall",
1148
- "rule": {
1149
- "$ref": "#/rules@14"
1150
- },
1151
- "arguments": []
1152
- },
1153
- {
1154
- "$type": "RuleCall",
1155
- "rule": {
1156
- "$ref": "#/rules@25"
1157
- },
1158
- "arguments": []
1159
- },
1160
- {
1161
- "$type": "RuleCall",
1162
- "rule": {
1163
- "$ref": "#/rules@26"
1164
- },
1165
- "arguments": []
1166
- },
1167
- {
1168
- "$type": "RuleCall",
1169
- "rule": {
1170
- "$ref": "#/rules@23"
1171
- },
1172
- "arguments": []
1173
- }
1174
- ]
1175
- },
1176
- "entry": false,
1177
- "fragment": false,
1178
- "parameters": []
1179
- },
1180
- {
1181
- "$type": "ParserRule",
1182
- "name": "BlockLine",
1183
- "definition": {
1184
- "$type": "Assignment",
1185
- "feature": "parts",
1186
- "operator": "+=",
1187
- "terminal": {
1188
- "$type": "RuleCall",
1189
- "rule": {
1190
- "$ref": "#/rules@12"
1191
- },
1192
- "arguments": []
1193
- },
1194
- "cardinality": "+"
1195
- },
1196
- "entry": false,
1197
- "fragment": false,
1198
- "parameters": []
1199
- },
1200
- {
1201
- "$type": "ParserRule",
1202
- "name": "ListValue",
1203
- "definition": {
1204
- "$type": "Group",
1205
- "elements": [
1206
- {
1207
- "$type": "Keyword",
1208
- "value": "("
1209
- },
1210
- {
1211
- "$type": "RuleCall",
1212
- "rule": {
1213
- "$ref": "#/rules@48"
1214
- },
1215
- "arguments": [],
1216
- "cardinality": "*"
1217
- },
1218
- {
1219
- "$type": "Assignment",
1220
- "feature": "items",
1221
- "operator": "+=",
1222
- "terminal": {
1223
- "$type": "RuleCall",
1224
- "rule": {
1225
- "$ref": "#/rules@27"
1226
- },
1227
- "arguments": []
1228
- }
1229
- },
1230
- {
1231
- "$type": "Group",
1232
- "elements": [
1233
- {
1234
- "$type": "Alternatives",
1235
- "elements": [
1236
- {
1237
- "$type": "Group",
1238
- "elements": [
1239
- {
1240
- "$type": "RuleCall",
1241
- "rule": {
1242
- "$ref": "#/rules@48"
1243
- },
1244
- "arguments": [],
1245
- "cardinality": "*"
1246
- },
1247
- {
1248
- "$type": "Keyword",
1249
- "value": ","
1250
- },
1251
- {
1252
- "$type": "RuleCall",
1253
- "rule": {
1254
- "$ref": "#/rules@48"
1255
- },
1256
- "arguments": [],
1257
- "cardinality": "*"
1258
- }
1259
- ]
1260
- },
1261
- {
1262
- "$type": "RuleCall",
1263
- "rule": {
1264
- "$ref": "#/rules@48"
1265
- },
1266
- "arguments": [],
1267
- "cardinality": "+"
1268
- }
1269
- ]
1270
- },
1271
- {
1272
- "$type": "Assignment",
1273
- "feature": "items",
1274
- "operator": "+=",
1275
- "terminal": {
1276
- "$type": "RuleCall",
1277
- "rule": {
1278
- "$ref": "#/rules@27"
1279
- },
1280
- "arguments": []
1281
- }
1282
- }
1283
- ],
1284
- "cardinality": "*"
1285
- },
1286
- {
1287
- "$type": "RuleCall",
1288
- "rule": {
1289
- "$ref": "#/rules@48"
1290
- },
1291
- "arguments": [],
1292
- "cardinality": "*"
1293
- },
1294
- {
1295
- "$type": "Group",
1296
- "elements": [
1297
- {
1298
- "$type": "Keyword",
1299
- "value": ","
1300
- },
1301
- {
1302
- "$type": "RuleCall",
1303
- "rule": {
1304
- "$ref": "#/rules@48"
1305
- },
1306
- "arguments": [],
1307
- "cardinality": "*"
1308
- }
1309
- ],
1310
- "cardinality": "?"
1311
- },
1312
- {
1313
- "$type": "Keyword",
1314
- "value": ")"
1315
- }
1316
- ]
1317
- },
1318
- "entry": false,
1319
- "fragment": false,
1320
- "parameters": []
1321
- },
1322
- {
1323
- "$type": "ParserRule",
1324
- "name": "NamedList",
1325
- "definition": {
1326
- "$type": "Group",
1327
- "elements": [
1328
- {
1329
- "$type": "Assignment",
1330
- "feature": "label",
1331
- "operator": "=",
1332
- "terminal": {
1333
- "$type": "RuleCall",
1334
- "rule": {
1335
- "$ref": "#/rules@53"
1336
- },
1337
- "arguments": []
1338
- }
1339
- },
1340
- {
1341
- "$type": "Keyword",
1342
- "value": "("
1343
- },
1344
- {
1345
- "$type": "RuleCall",
1346
- "rule": {
1347
- "$ref": "#/rules@48"
1348
- },
1349
- "arguments": [],
1350
- "cardinality": "+"
1351
- },
1352
- {
1353
- "$type": "Assignment",
1354
- "feature": "items",
1355
- "operator": "+=",
1356
- "terminal": {
1357
- "$type": "RuleCall",
1358
- "rule": {
1359
- "$ref": "#/rules@27"
1360
- },
1361
- "arguments": []
1362
- }
1363
- },
1364
- {
1365
- "$type": "Group",
1366
- "elements": [
1367
- {
1368
- "$type": "Alternatives",
1369
- "elements": [
1370
- {
1371
- "$type": "Group",
1372
- "elements": [
1373
- {
1374
- "$type": "RuleCall",
1375
- "rule": {
1376
- "$ref": "#/rules@48"
1377
- },
1378
- "arguments": [],
1379
- "cardinality": "*"
1380
- },
1381
- {
1382
- "$type": "Keyword",
1383
- "value": ","
1384
- },
1385
- {
1386
- "$type": "RuleCall",
1387
- "rule": {
1388
- "$ref": "#/rules@48"
1389
- },
1390
- "arguments": [],
1391
- "cardinality": "*"
1392
- }
1393
- ]
1394
- },
1395
- {
1396
- "$type": "RuleCall",
1397
- "rule": {
1398
- "$ref": "#/rules@48"
1399
- },
1400
- "arguments": [],
1401
- "cardinality": "+"
1402
- }
1403
- ]
1404
- },
1405
- {
1406
- "$type": "Assignment",
1407
- "feature": "items",
1408
- "operator": "+=",
1409
- "terminal": {
1410
- "$type": "RuleCall",
1411
- "rule": {
1412
- "$ref": "#/rules@27"
1413
- },
1414
- "arguments": []
1415
- }
1416
- }
1417
- ],
1418
- "cardinality": "*"
1419
- },
1420
- {
1421
- "$type": "RuleCall",
1422
- "rule": {
1423
- "$ref": "#/rules@48"
1424
- },
1425
- "arguments": [],
1426
- "cardinality": "*"
1427
- },
1428
- {
1429
- "$type": "Group",
1430
- "elements": [
1431
- {
1432
- "$type": "Keyword",
1433
- "value": ","
1434
- },
1435
- {
1436
- "$type": "RuleCall",
1437
- "rule": {
1438
- "$ref": "#/rules@48"
1439
- },
1440
- "arguments": [],
1441
- "cardinality": "*"
1442
- }
1443
- ],
1444
- "cardinality": "?"
1445
- },
1446
- {
1447
- "$type": "Keyword",
1448
- "value": ")"
1449
- }
1450
- ]
1451
- },
1452
- "entry": false,
1453
- "fragment": false,
1454
- "parameters": []
1455
- },
1456
- {
1457
- "$type": "ParserRule",
1458
- "name": "NestedList",
1459
- "definition": {
1460
- "$type": "Group",
1461
- "elements": [
1462
- {
1463
- "$type": "Keyword",
1464
- "value": "("
1465
- },
1466
- {
1467
- "$type": "RuleCall",
1468
- "rule": {
1469
- "$ref": "#/rules@48"
1470
- },
1471
- "arguments": [],
1472
- "cardinality": "+"
1473
- },
1474
- {
1475
- "$type": "Assignment",
1476
- "feature": "items",
1477
- "operator": "+=",
1478
- "terminal": {
1479
- "$type": "RuleCall",
1480
- "rule": {
1481
- "$ref": "#/rules@27"
1482
- },
1483
- "arguments": []
1484
- }
1485
- },
1486
- {
1487
- "$type": "Group",
1488
- "elements": [
1489
- {
1490
- "$type": "Alternatives",
1491
- "elements": [
1492
- {
1493
- "$type": "Group",
1494
- "elements": [
1495
- {
1496
- "$type": "RuleCall",
1497
- "rule": {
1498
- "$ref": "#/rules@48"
1499
- },
1500
- "arguments": [],
1501
- "cardinality": "*"
1502
- },
1503
- {
1504
- "$type": "Keyword",
1505
- "value": ","
1506
- },
1507
- {
1508
- "$type": "RuleCall",
1509
- "rule": {
1510
- "$ref": "#/rules@48"
1511
- },
1512
- "arguments": [],
1513
- "cardinality": "*"
1514
- }
1515
- ]
1516
- },
1517
- {
1518
- "$type": "RuleCall",
1519
- "rule": {
1520
- "$ref": "#/rules@48"
1521
- },
1522
- "arguments": [],
1523
- "cardinality": "+"
1524
- }
1525
- ]
1526
- },
1527
- {
1528
- "$type": "Assignment",
1529
- "feature": "items",
1530
- "operator": "+=",
1531
- "terminal": {
1532
- "$type": "RuleCall",
1533
- "rule": {
1534
- "$ref": "#/rules@27"
1535
- },
1536
- "arguments": []
1537
- }
1538
- }
1539
- ],
1540
- "cardinality": "*"
1541
- },
1542
- {
1543
- "$type": "RuleCall",
1544
- "rule": {
1545
- "$ref": "#/rules@48"
1546
- },
1547
- "arguments": [],
1548
- "cardinality": "*"
1549
- },
1550
- {
1551
- "$type": "Group",
1552
- "elements": [
1553
- {
1554
- "$type": "Keyword",
1555
- "value": ","
1556
- },
1557
- {
1558
- "$type": "RuleCall",
1559
- "rule": {
1560
- "$ref": "#/rules@48"
1561
- },
1562
- "arguments": [],
1563
- "cardinality": "*"
1564
- }
1565
- ],
1566
- "cardinality": "?"
1567
- },
1568
- {
1569
- "$type": "Keyword",
1570
- "value": ")"
1571
- }
1572
- ]
1573
- },
1574
- "entry": false,
1575
- "fragment": false,
1576
- "parameters": []
1577
- },
1578
- {
1579
- "$type": "ParserRule",
1580
- "name": "ListItem",
1581
- "definition": {
1582
- "$type": "Alternatives",
1583
- "elements": [
1584
- {
1585
- "$type": "RuleCall",
1586
- "rule": {
1587
- "$ref": "#/rules@28"
1588
- },
1589
- "arguments": []
1590
- },
1591
- {
1592
- "$type": "RuleCall",
1593
- "rule": {
1594
- "$ref": "#/rules@33"
1595
- },
1596
- "arguments": []
1597
- },
1598
- {
1599
- "$type": "RuleCall",
1600
- "rule": {
1601
- "$ref": "#/rules@32"
1602
- },
1603
- "arguments": []
1604
- },
1605
- {
1606
- "$type": "RuleCall",
1607
- "rule": {
1608
- "$ref": "#/rules@26"
1609
- },
1610
- "arguments": []
1611
- }
1612
- ]
1613
- },
1614
- "entry": false,
1615
- "fragment": false,
1616
- "parameters": []
1617
- },
1618
- {
1619
- "$type": "ParserRule",
1620
- "name": "OneLinerListItem",
1621
- "definition": {
1622
- "$type": "Assignment",
1623
- "feature": "body",
1624
- "operator": "=",
1625
- "terminal": {
1626
- "$type": "RuleCall",
1627
- "rule": {
1628
- "$ref": "#/rules@29"
1629
- },
1630
- "arguments": []
1631
- }
1632
- },
1633
- "entry": false,
1634
- "fragment": false,
1635
- "parameters": []
1636
- },
1637
- {
1638
- "$type": "ParserRule",
1639
- "name": "ListItemBody",
1640
- "definition": {
1641
- "$type": "Assignment",
1642
- "feature": "content",
1643
- "operator": "+=",
1644
- "terminal": {
1645
- "$type": "Alternatives",
1646
- "elements": [
1647
- {
1648
- "$type": "RuleCall",
1649
- "rule": {
1650
- "$ref": "#/rules@34"
1651
- },
1652
- "arguments": []
1653
- },
1654
- {
1655
- "$type": "RuleCall",
1656
- "rule": {
1657
- "$ref": "#/rules@37"
1658
- },
1659
- "arguments": []
1660
- },
1661
- {
1662
- "$type": "RuleCall",
1663
- "rule": {
1664
- "$ref": "#/rules@35"
1665
- },
1666
- "arguments": []
1667
- },
1668
- {
1669
- "$type": "RuleCall",
1670
- "rule": {
1671
- "$ref": "#/rules@30"
1672
- },
1673
- "arguments": []
1674
- }
1675
- ]
1676
- },
1677
- "cardinality": "+"
1678
- },
1679
- "entry": false,
1680
- "fragment": false,
1681
- "parameters": []
1682
- },
1683
- {
1684
- "$type": "ParserRule",
1685
- "name": "ListItemText",
1686
- "dataType": "string",
1687
- "definition": {
1688
- "$type": "Alternatives",
1689
- "elements": [
1690
- {
1691
- "$type": "RuleCall",
1692
- "rule": {
1693
- "$ref": "#/rules@56"
1694
- },
1695
- "arguments": []
1696
- },
1697
- {
1698
- "$type": "RuleCall",
1699
- "rule": {
1700
- "$ref": "#/rules@53"
1701
- },
1702
- "arguments": []
1703
- },
1704
- {
1705
- "$type": "RuleCall",
1706
- "rule": {
1707
- "$ref": "#/rules@55"
1708
- },
1709
- "arguments": []
1710
- },
1711
- {
1712
- "$type": "RuleCall",
1713
- "rule": {
1714
- "$ref": "#/rules@58"
1715
- },
1716
- "arguments": []
1717
- },
1718
- {
1719
- "$type": "RuleCall",
1720
- "rule": {
1721
- "$ref": "#/rules@57"
1722
- },
1723
- "arguments": []
1724
- },
1725
- {
1726
- "$type": "RuleCall",
1727
- "rule": {
1728
- "$ref": "#/rules@31"
1729
- },
1730
- "arguments": []
1731
- },
1732
- {
1733
- "$type": "Keyword",
1734
- "value": "("
1735
- },
1736
- {
1737
- "$type": "Keyword",
1738
- "value": "|"
1739
- },
1740
- {
1741
- "$type": "Keyword",
1742
- "value": "from"
1743
- },
1744
- {
1745
- "$type": "Keyword",
1746
- "value": "import"
1747
- },
1748
- {
1749
- "$type": "Keyword",
1750
- "value": "as"
1751
- },
1752
- {
1753
- "$type": "Keyword",
1754
- "value": "\`"
1755
- }
1756
- ]
1757
- },
1758
- "entry": false,
1759
- "fragment": false,
1760
- "parameters": []
1761
- },
1762
- {
1763
- "$type": "ParserRule",
1764
- "name": "ListItemPunctuation",
1765
- "dataType": "string",
1766
- "definition": {
1767
- "$type": "Alternatives",
1768
- "elements": [
1769
- {
1770
- "$type": "Keyword",
1771
- "value": "."
1772
- },
1773
- {
1774
- "$type": "Keyword",
1775
- "value": ":"
1776
- },
1777
- {
1778
- "$type": "Keyword",
1779
- "value": ";"
1780
- },
1781
- {
1782
- "$type": "Keyword",
1783
- "value": "!"
1784
- },
1785
- {
1786
- "$type": "Keyword",
1787
- "value": "?"
1788
- },
1789
- {
1790
- "$type": "Keyword",
1791
- "value": "-"
1792
- }
1793
- ]
1794
- },
1795
- "entry": false,
1796
- "fragment": false,
1797
- "parameters": []
1798
- },
1799
- {
1800
- "$type": "ParserRule",
1801
- "name": "NamedBlockListItem",
1802
- "definition": {
1803
- "$type": "Group",
1804
- "elements": [
1805
- {
1806
- "$type": "Assignment",
1807
- "feature": "name",
1808
- "operator": "=",
1809
- "terminal": {
1810
- "$type": "RuleCall",
1811
- "rule": {
1812
- "$ref": "#/rules@53"
1813
- },
1814
- "arguments": []
1815
- }
1816
- },
1817
- {
1818
- "$type": "Keyword",
1819
- "value": "{"
1820
- },
1821
- {
1822
- "$type": "Group",
1823
- "elements": [
1824
- {
1825
- "$type": "RuleCall",
1826
- "rule": {
1827
- "$ref": "#/rules@48"
1828
- },
1829
- "arguments": [],
1830
- "cardinality": "*"
1831
- },
1832
- {
1833
- "$type": "Assignment",
1834
- "feature": "elements",
1835
- "operator": "+=",
1836
- "terminal": {
1837
- "$type": "RuleCall",
1838
- "rule": {
1839
- "$ref": "#/rules@10"
1840
- },
1841
- "arguments": []
1842
- }
1843
- }
1844
- ],
1845
- "cardinality": "*"
1846
- },
1847
- {
1848
- "$type": "RuleCall",
1849
- "rule": {
1850
- "$ref": "#/rules@48"
1851
- },
1852
- "arguments": [],
1853
- "cardinality": "*"
1854
- },
1855
- {
1856
- "$type": "Keyword",
1857
- "value": "}"
1858
- }
1859
- ]
1860
- },
1861
- "entry": false,
1862
- "fragment": false,
1863
- "parameters": []
1864
- },
1865
- {
1866
- "$type": "ParserRule",
1867
- "name": "AnonymousBlock",
1868
- "definition": {
1869
- "$type": "Group",
1870
- "elements": [
1871
- {
1872
- "$type": "Keyword",
1873
- "value": "{"
1874
- },
1875
- {
1876
- "$type": "Group",
1877
- "elements": [
1878
- {
1879
- "$type": "RuleCall",
1880
- "rule": {
1881
- "$ref": "#/rules@48"
1882
- },
1883
- "arguments": [],
1884
- "cardinality": "*"
1885
- },
1886
- {
1887
- "$type": "Assignment",
1888
- "feature": "elements",
1889
- "operator": "+=",
1890
- "terminal": {
1891
- "$type": "RuleCall",
1892
- "rule": {
1893
- "$ref": "#/rules@10"
1894
- },
1895
- "arguments": []
1896
- }
1897
- }
1898
- ],
1899
- "cardinality": "*"
1900
- },
1901
- {
1902
- "$type": "RuleCall",
1903
- "rule": {
1904
- "$ref": "#/rules@48"
1905
- },
1906
- "arguments": [],
1907
- "cardinality": "*"
1908
- },
1909
- {
1910
- "$type": "Keyword",
1911
- "value": "}"
1912
- }
1913
- ]
1914
- },
1915
- "entry": false,
1916
- "fragment": false,
1917
- "parameters": []
1918
- },
1919
- {
1920
- "$type": "ParserRule",
1921
- "name": "MarkdownLink",
1922
- "definition": {
1923
- "$type": "Assignment",
1924
- "feature": "raw",
1925
- "operator": "=",
1926
- "terminal": {
1927
- "$type": "RuleCall",
1928
- "rule": {
1929
- "$ref": "#/rules@52"
1930
- },
1931
- "arguments": []
1932
- }
1933
- },
1934
- "entry": false,
1935
- "fragment": false,
1936
- "parameters": []
1937
- },
1938
- {
1939
- "$type": "ParserRule",
1940
- "name": "WikiLink",
1941
- "definition": {
1942
- "$type": "Group",
1943
- "elements": [
1944
- {
1945
- "$type": "Keyword",
1946
- "value": "[["
1947
- },
1948
- {
1949
- "$type": "Assignment",
1950
- "feature": "target",
1951
- "operator": "=",
1952
- "terminal": {
1953
- "$type": "RuleCall",
1954
- "rule": {
1955
- "$ref": "#/rules@38"
1956
- },
1957
- "arguments": []
1958
- }
1959
- },
1960
- {
1961
- "$type": "Group",
1962
- "elements": [
1963
- {
1964
- "$type": "Keyword",
1965
- "value": "|"
1966
- },
1967
- {
1968
- "$type": "Assignment",
1969
- "feature": "alias",
1970
- "operator": "+=",
1971
- "terminal": {
1972
- "$type": "RuleCall",
1973
- "rule": {
1974
- "$ref": "#/rules@36"
1975
- },
1976
- "arguments": []
1977
- },
1978
- "cardinality": "+"
1979
- }
1980
- ],
1981
- "cardinality": "?"
1982
- },
1983
- {
1984
- "$type": "Keyword",
1985
- "value": "]]"
1986
- }
1987
- ]
1988
- },
1989
- "entry": false,
1990
- "fragment": false,
1991
- "parameters": []
1992
- },
1993
- {
1994
- "$type": "ParserRule",
1995
- "name": "AliasPart",
1996
- "definition": {
1997
- "$type": "Alternatives",
1998
- "elements": [
1999
- {
2000
- "$type": "Assignment",
2001
- "feature": "text",
2002
- "operator": "=",
2003
- "terminal": {
2004
- "$type": "RuleCall",
2005
- "rule": {
2006
- "$ref": "#/rules@16"
2007
- },
2008
- "arguments": []
2009
- }
2010
- },
2011
- {
2012
- "$type": "Assignment",
2013
- "feature": "punct",
2014
- "operator": "=",
2015
- "terminal": {
2016
- "$type": "RuleCall",
2017
- "rule": {
2018
- "$ref": "#/rules@17"
2019
- },
2020
- "arguments": []
2021
- }
2022
- }
2023
- ]
2024
- },
2025
- "entry": false,
2026
- "fragment": false,
2027
- "parameters": []
2028
- },
2029
- {
2030
- "$type": "ParserRule",
2031
- "name": "BracketReference",
2032
- "definition": {
2033
- "$type": "Group",
2034
- "elements": [
2035
- {
2036
- "$type": "Keyword",
2037
- "value": "["
2038
- },
2039
- {
2040
- "$type": "Assignment",
2041
- "feature": "target",
2042
- "operator": "=",
2043
- "terminal": {
2044
- "$type": "RuleCall",
2045
- "rule": {
2046
- "$ref": "#/rules@38"
2047
- },
2048
- "arguments": []
2049
- }
2050
- },
2051
- {
2052
- "$type": "Keyword",
2053
- "value": "]"
2054
- }
2055
- ]
2056
- },
2057
- "entry": false,
2058
- "fragment": false,
2059
- "parameters": []
2060
- },
2061
- {
2062
- "$type": "ParserRule",
2063
- "name": "ReferenceTarget",
2064
- "definition": {
2065
- "$type": "Alternatives",
2066
- "elements": [
2067
- {
2068
- "$type": "RuleCall",
2069
- "rule": {
2070
- "$ref": "#/rules@41"
2071
- },
2072
- "arguments": []
2073
- },
2074
- {
2075
- "$type": "RuleCall",
2076
- "rule": {
2077
- "$ref": "#/rules@42"
2078
- },
2079
- "arguments": []
2080
- },
2081
- {
2082
- "$type": "RuleCall",
2083
- "rule": {
2084
- "$ref": "#/rules@40"
2085
- },
2086
- "arguments": []
2087
- },
2088
- {
2089
- "$type": "RuleCall",
2090
- "rule": {
2091
- "$ref": "#/rules@39"
2092
- },
2093
- "arguments": []
2094
- }
2095
- ]
2096
- },
2097
- "entry": false,
2098
- "fragment": false,
2099
- "parameters": []
2100
- },
2101
- {
2102
- "$type": "ParserRule",
2103
- "name": "FileReference",
2104
- "definition": {
2105
- "$type": "Assignment",
2106
- "feature": "file",
2107
- "operator": "=",
2108
- "terminal": {
2109
- "$type": "RuleCall",
2110
- "rule": {
2111
- "$ref": "#/rules@54"
2112
- },
2113
- "arguments": []
2114
- }
2115
- },
2116
- "entry": false,
2117
- "fragment": false,
2118
- "parameters": []
2119
- },
2120
- {
2121
- "$type": "ParserRule",
2122
- "name": "FileSymbolReference",
2123
- "definition": {
2124
- "$type": "Group",
2125
- "elements": [
2126
- {
2127
- "$type": "Assignment",
2128
- "feature": "file",
2129
- "operator": "=",
2130
- "terminal": {
2131
- "$type": "RuleCall",
2132
- "rule": {
2133
- "$ref": "#/rules@54"
2134
- },
2135
- "arguments": []
2136
- }
2137
- },
2138
- {
2139
- "$type": "Keyword",
2140
- "value": "."
2141
- },
2142
- {
2143
- "$type": "Assignment",
2144
- "feature": "symbols",
2145
- "operator": "+=",
2146
- "terminal": {
2147
- "$type": "RuleCall",
2148
- "rule": {
2149
- "$ref": "#/rules@53"
2150
- },
2151
- "arguments": []
2152
- }
2153
- },
2154
- {
2155
- "$type": "Group",
2156
- "elements": [
2157
- {
2158
- "$type": "Keyword",
2159
- "value": "."
2160
- },
2161
- {
2162
- "$type": "Assignment",
2163
- "feature": "symbols",
2164
- "operator": "+=",
2165
- "terminal": {
2166
- "$type": "RuleCall",
2167
- "rule": {
2168
- "$ref": "#/rules@53"
2169
- },
2170
- "arguments": []
2171
- }
2172
- }
2173
- ],
2174
- "cardinality": "*"
2175
- }
2176
- ]
2177
- },
2178
- "entry": false,
2179
- "fragment": false,
2180
- "parameters": []
2181
- },
2182
- {
2183
- "$type": "ParserRule",
2184
- "name": "QualifiedReference",
2185
- "definition": {
2186
- "$type": "Group",
2187
- "elements": [
2188
- {
2189
- "$type": "Alternatives",
2190
- "elements": [
2191
- {
2192
- "$type": "Assignment",
2193
- "feature": "path",
2194
- "operator": "=",
2195
- "terminal": {
2196
- "$type": "CrossReference",
2197
- "type": {
2198
- "$ref": "#/rules@43"
2199
- },
2200
- "terminal": {
2201
- "$type": "RuleCall",
2202
- "rule": {
2203
- "$ref": "#/rules@54"
2204
- },
2205
- "arguments": []
2206
- },
2207
- "deprecatedSyntax": false,
2208
- "isMulti": false
2209
- }
2210
- },
2211
- {
2212
- "$type": "Assignment",
2213
- "feature": "qualifier",
2214
- "operator": "=",
2215
- "terminal": {
2216
- "$type": "CrossReference",
2217
- "type": {
2218
- "$ref": "#/rules@43"
2219
- },
2220
- "terminal": {
2221
- "$type": "RuleCall",
2222
- "rule": {
2223
- "$ref": "#/rules@53"
2224
- },
2225
- "arguments": []
2226
- },
2227
- "deprecatedSyntax": false,
2228
- "isMulti": false
2229
- }
2230
- }
2231
- ]
2232
- },
2233
- {
2234
- "$type": "Keyword",
2235
- "value": "."
2236
- },
2237
- {
2238
- "$type": "Group",
2239
- "elements": [
2240
- {
2241
- "$type": "Assignment",
2242
- "feature": "ideaset",
2243
- "operator": "=",
2244
- "terminal": {
2245
- "$type": "CrossReference",
2246
- "type": {
2247
- "$ref": "#/rules@6"
2248
- },
2249
- "terminal": {
2250
- "$type": "RuleCall",
2251
- "rule": {
2252
- "$ref": "#/rules@9"
2253
- },
2254
- "arguments": []
2255
- },
2256
- "deprecatedSyntax": false,
2257
- "isMulti": false
2258
- }
2259
- },
2260
- {
2261
- "$type": "Keyword",
2262
- "value": "."
2263
- }
2264
- ],
2265
- "cardinality": "?"
2266
- },
2267
- {
2268
- "$type": "Assignment",
2269
- "feature": "idea",
2270
- "operator": "=",
2271
- "terminal": {
2272
- "$type": "CrossReference",
2273
- "type": {
2274
- "$ref": "#/rules@4"
2275
- },
2276
- "terminal": {
2277
- "$type": "RuleCall",
2278
- "rule": {
2279
- "$ref": "#/rules@9"
2280
- },
2281
- "arguments": []
2282
- },
2283
- "deprecatedSyntax": false,
2284
- "isMulti": false
2285
- }
2286
- }
2287
- ]
2288
- },
2289
- "entry": false,
2290
- "fragment": false,
2291
- "parameters": []
2292
- },
2293
- {
2294
- "$type": "ParserRule",
2295
- "name": "LocalReference",
2296
- "definition": {
2297
- "$type": "Alternatives",
2298
- "elements": [
2299
- {
2300
- "$type": "Group",
2301
- "elements": [
2302
- {
2303
- "$type": "Assignment",
2304
- "feature": "ideaset",
2305
- "operator": "=",
2306
- "terminal": {
2307
- "$type": "CrossReference",
2308
- "type": {
2309
- "$ref": "#/rules@6"
2310
- },
2311
- "terminal": {
2312
- "$type": "RuleCall",
2313
- "rule": {
2314
- "$ref": "#/rules@9"
2315
- },
2316
- "arguments": []
2317
- },
2318
- "deprecatedSyntax": false,
2319
- "isMulti": false
2320
- }
2321
- },
2322
- {
2323
- "$type": "Keyword",
2324
- "value": "."
2325
- },
2326
- {
2327
- "$type": "Assignment",
2328
- "feature": "idea",
2329
- "operator": "=",
2330
- "terminal": {
2331
- "$type": "CrossReference",
2332
- "type": {
2333
- "$ref": "#/rules@4"
2334
- },
2335
- "terminal": {
2336
- "$type": "RuleCall",
2337
- "rule": {
2338
- "$ref": "#/rules@9"
2339
- },
2340
- "arguments": []
2341
- },
2342
- "deprecatedSyntax": false,
2343
- "isMulti": false
2344
- }
2345
- }
2346
- ]
2347
- },
2348
- {
2349
- "$type": "Group",
2350
- "elements": [
2351
- {
2352
- "$type": "Assignment",
2353
- "feature": "idea",
2354
- "operator": "=",
2355
- "terminal": {
2356
- "$type": "CrossReference",
2357
- "type": {
2358
- "$ref": "#/rules@4"
2359
- },
2360
- "terminal": {
2361
- "$type": "RuleCall",
2362
- "rule": {
2363
- "$ref": "#/rules@9"
2364
- },
2365
- "arguments": []
2366
- },
2367
- "deprecatedSyntax": false,
2368
- "isMulti": false
2369
- }
2370
- },
2371
- {
2372
- "$type": "Keyword",
2373
- "value": "."
2374
- },
2375
- {
2376
- "$type": "Assignment",
2377
- "feature": "attribute",
2378
- "operator": "=",
2379
- "terminal": {
2380
- "$type": "RuleCall",
2381
- "rule": {
2382
- "$ref": "#/rules@53"
2383
- },
2384
- "arguments": []
2385
- }
2386
- }
2387
- ]
2388
- },
2389
- {
2390
- "$type": "Assignment",
2391
- "feature": "idea",
2392
- "operator": "=",
2393
- "terminal": {
2394
- "$type": "CrossReference",
2395
- "type": {
2396
- "$ref": "#/rules@4"
2397
- },
2398
- "terminal": {
2399
- "$type": "RuleCall",
2400
- "rule": {
2401
- "$ref": "#/rules@9"
2402
- },
2403
- "arguments": []
2404
- },
2405
- "deprecatedSyntax": false,
2406
- "isMulti": false
2407
- }
2408
- },
2409
- {
2410
- "$type": "Assignment",
2411
- "feature": "ideaset",
2412
- "operator": "=",
2413
- "terminal": {
2414
- "$type": "CrossReference",
2415
- "type": {
2416
- "$ref": "#/rules@6"
2417
- },
2418
- "terminal": {
2419
- "$type": "RuleCall",
2420
- "rule": {
2421
- "$ref": "#/rules@9"
2422
- },
2423
- "arguments": []
2424
- },
2425
- "deprecatedSyntax": false,
2426
- "isMulti": false
2427
- }
2428
- }
2429
- ]
2430
- },
2431
- "entry": false,
2432
- "fragment": false,
2433
- "parameters": []
2434
- },
2435
- {
2436
- "$type": "ParserRule",
2437
- "name": "Import",
2438
- "definition": {
2439
- "$type": "Alternatives",
2440
- "elements": [
2441
- {
2442
- "$type": "RuleCall",
2443
- "rule": {
2444
- "$ref": "#/rules@44"
2445
- },
2446
- "arguments": []
2447
- },
2448
- {
2449
- "$type": "RuleCall",
2450
- "rule": {
2451
- "$ref": "#/rules@46"
2452
- },
2453
- "arguments": []
2454
- },
2455
- {
2456
- "$type": "RuleCall",
2457
- "rule": {
2458
- "$ref": "#/rules@47"
2459
- },
2460
- "arguments": []
2461
- }
2462
- ]
2463
- },
2464
- "entry": false,
2465
- "fragment": false,
2466
- "parameters": []
2467
- },
2468
- {
2469
- "$type": "ParserRule",
2470
- "name": "FromImport",
2471
- "definition": {
2472
- "$type": "Group",
2473
- "elements": [
2474
- {
2475
- "$type": "Keyword",
2476
- "value": "from"
2477
- },
2478
- {
2479
- "$type": "Assignment",
2480
- "feature": "path",
2481
- "operator": "=",
2482
- "terminal": {
2483
- "$type": "RuleCall",
2484
- "rule": {
2485
- "$ref": "#/rules@54"
2486
- },
2487
- "arguments": []
2488
- }
2489
- },
2490
- {
2491
- "$type": "Keyword",
2492
- "value": "import"
2493
- },
2494
- {
2495
- "$type": "Assignment",
2496
- "feature": "specifiers",
2497
- "operator": "+=",
2498
- "terminal": {
2499
- "$type": "RuleCall",
2500
- "rule": {
2501
- "$ref": "#/rules@45"
2502
- },
2503
- "arguments": []
2504
- }
2505
- },
2506
- {
2507
- "$type": "Group",
2508
- "elements": [
2509
- {
2510
- "$type": "Keyword",
2511
- "value": ","
2512
- },
2513
- {
2514
- "$type": "Assignment",
2515
- "feature": "specifiers",
2516
- "operator": "+=",
2517
- "terminal": {
2518
- "$type": "RuleCall",
2519
- "rule": {
2520
- "$ref": "#/rules@45"
2521
- },
2522
- "arguments": []
2523
- }
2524
- }
2525
- ],
2526
- "cardinality": "*"
2527
- }
2528
- ]
2529
- },
2530
- "entry": false,
2531
- "fragment": false,
2532
- "parameters": []
2533
- },
2534
- {
2535
- "$type": "ParserRule",
2536
- "name": "FromImportSpecifier",
2537
- "definition": {
2538
- "$type": "Group",
2539
- "elements": [
2540
- {
2541
- "$type": "Assignment",
2542
- "feature": "idea",
2543
- "operator": "=",
2544
- "terminal": {
2545
- "$type": "CrossReference",
2546
- "type": {
2547
- "$ref": "#/rules@4"
2548
- },
2549
- "terminal": {
2550
- "$type": "RuleCall",
2551
- "rule": {
2552
- "$ref": "#/rules@53"
2553
- },
2554
- "arguments": []
2555
- },
2556
- "deprecatedSyntax": false,
2557
- "isMulti": false
2558
- }
2559
- },
2560
- {
2561
- "$type": "Group",
2562
- "elements": [
2563
- {
2564
- "$type": "Keyword",
2565
- "value": "as"
2566
- },
2567
- {
2568
- "$type": "Assignment",
2569
- "feature": "alias",
2570
- "operator": "=",
2571
- "terminal": {
2572
- "$type": "RuleCall",
2573
- "rule": {
2574
- "$ref": "#/rules@53"
2575
- },
2576
- "arguments": []
2577
- }
2578
- }
2579
- ],
2580
- "cardinality": "?"
2581
- }
2582
- ]
2583
- },
2584
- "entry": false,
2585
- "fragment": false,
2586
- "parameters": []
2587
- },
2588
- {
2589
- "$type": "ParserRule",
2590
- "name": "NamespaceImport",
2591
- "definition": {
2592
- "$type": "Group",
2593
- "elements": [
2594
- {
2595
- "$type": "Keyword",
2596
- "value": "import"
2597
- },
2598
- {
2599
- "$type": "Assignment",
2600
- "feature": "path",
2601
- "operator": "=",
2602
- "terminal": {
2603
- "$type": "RuleCall",
2604
- "rule": {
2605
- "$ref": "#/rules@54"
2606
- },
2607
- "arguments": []
2608
- }
2609
- },
2610
- {
2611
- "$type": "Group",
2612
- "elements": [
2613
- {
2614
- "$type": "Keyword",
2615
- "value": "as"
2616
- },
2617
- {
2618
- "$type": "Assignment",
2619
- "feature": "alias",
2620
- "operator": "=",
2621
- "terminal": {
2622
- "$type": "RuleCall",
2623
- "rule": {
2624
- "$ref": "#/rules@53"
2625
- },
2626
- "arguments": []
2627
- }
2628
- }
2629
- ],
2630
- "cardinality": "?"
2631
- }
2632
- ]
2633
- },
2634
- "entry": false,
2635
- "fragment": false,
2636
- "parameters": []
2637
- },
2638
- {
2639
- "$type": "ParserRule",
2640
- "name": "QualifiedImport",
2641
- "definition": {
2642
- "$type": "Group",
2643
- "elements": [
2644
- {
2645
- "$type": "Keyword",
2646
- "value": "import"
2647
- },
2648
- {
2649
- "$type": "Assignment",
2650
- "feature": "path",
2651
- "operator": "=",
2652
- "terminal": {
2653
- "$type": "RuleCall",
2654
- "rule": {
2655
- "$ref": "#/rules@54"
2656
- },
2657
- "arguments": []
2658
- }
2659
- },
2660
- {
2661
- "$type": "Keyword",
2662
- "value": "."
2663
- },
2664
- {
2665
- "$type": "Assignment",
2666
- "feature": "ideaset",
2667
- "operator": "=",
2668
- "terminal": {
2669
- "$type": "RuleCall",
2670
- "rule": {
2671
- "$ref": "#/rules@53"
2672
- },
2673
- "arguments": []
2674
- }
2675
- },
2676
- {
2677
- "$type": "Keyword",
2678
- "value": "."
2679
- },
2680
- {
2681
- "$type": "Assignment",
2682
- "feature": "idea",
2683
- "operator": "=",
2684
- "terminal": {
2685
- "$type": "CrossReference",
2686
- "type": {
2687
- "$ref": "#/rules@4"
2688
- },
2689
- "terminal": {
2690
- "$type": "RuleCall",
2691
- "rule": {
2692
- "$ref": "#/rules@53"
2693
- },
2694
- "arguments": []
2695
- },
2696
- "deprecatedSyntax": false,
2697
- "isMulti": false
2698
- }
2699
- },
2700
- {
2701
- "$type": "Group",
2702
- "elements": [
2703
- {
2704
- "$type": "Keyword",
2705
- "value": "as"
2706
- },
2707
- {
2708
- "$type": "Assignment",
2709
- "feature": "alias",
2710
- "operator": "=",
2711
- "terminal": {
2712
- "$type": "RuleCall",
2713
- "rule": {
2714
- "$ref": "#/rules@53"
2715
- },
2716
- "arguments": []
2717
- }
2718
- }
2719
- ],
2720
- "cardinality": "?"
2721
- }
2722
- ]
2723
- },
2724
- "entry": false,
2725
- "fragment": false,
2726
- "parameters": []
2727
- },
2728
- {
2729
- "$type": "TerminalRule",
2730
- "name": "NL",
2731
- "definition": {
2732
- "$type": "RegexToken",
2733
- "regex": "/\\\\r?\\\\n/",
2734
- "parenthesized": false
2735
- },
2736
- "fragment": false,
2737
- "hidden": false
2738
- },
2739
- {
2740
- "$type": "TerminalRule",
2741
- "hidden": true,
2742
- "name": "WS",
2743
- "definition": {
2744
- "$type": "RegexToken",
2745
- "regex": "/[ \\\\t]+/",
2746
- "parenthesized": false
2747
- },
2748
- "fragment": false
2749
- },
2750
- {
2751
- "$type": "TerminalRule",
2752
- "hidden": true,
2753
- "name": "ML_COMMENT",
2754
- "definition": {
2755
- "$type": "RegexToken",
2756
- "regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//",
2757
- "parenthesized": false
2758
- },
2759
- "fragment": false
2760
- },
2761
- {
2762
- "$type": "TerminalRule",
2763
- "hidden": true,
2764
- "name": "SL_COMMENT",
2765
- "definition": {
2766
- "$type": "RegexToken",
2767
- "regex": "/\\\\/\\\\/[^\\\\n\\\\r]*/",
2768
- "parenthesized": false
2769
- },
2770
- "fragment": false
2771
- },
2772
- {
2773
- "$type": "TerminalRule",
2774
- "name": "MARKDOWN_LINK",
2775
- "definition": {
2776
- "$type": "RegexToken",
2777
- "regex": "/\\\\[(?!\\\\[)[^\\\\]]+\\\\]\\\\([^)]+\\\\)/",
2778
- "parenthesized": false
2779
- },
2780
- "fragment": false,
2781
- "hidden": false
2782
- },
2783
- {
2784
- "$type": "TerminalRule",
2785
- "name": "ID",
2786
- "definition": {
2787
- "$type": "RegexToken",
2788
- "regex": "/[_a-zA-Z][\\\\w_]*/",
2789
- "parenthesized": false
2790
- },
2791
- "fragment": false,
2792
- "hidden": false
2793
- },
2794
- {
2795
- "$type": "TerminalRule",
2796
- "name": "STRING",
2797
- "definition": {
2798
- "$type": "RegexToken",
2799
- "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\\\\\r\\\\n])*\\"|'(\\\\\\\\.|[^'\\\\\\\\\\\\r\\\\n])*'/",
2800
- "parenthesized": false
2801
- },
2802
- "fragment": false,
2803
- "hidden": false
2804
- },
2805
- {
2806
- "$type": "TerminalRule",
2807
- "name": "NUMBER",
2808
- "definition": {
2809
- "$type": "RegexToken",
2810
- "regex": "/\\\\d+/",
2811
- "parenthesized": false
2812
- },
2813
- "fragment": false,
2814
- "hidden": false
2815
- },
2816
- {
2817
- "$type": "TerminalRule",
2818
- "name": "WORD",
2819
- "definition": {
2820
- "$type": "RegexToken",
2821
- "regex": "/[A-Za-z_][\\\\w']*/",
2822
- "parenthesized": false
2823
- },
2824
- "fragment": false,
2825
- "hidden": false
2826
- },
2827
- {
2828
- "$type": "TerminalRule",
2829
- "name": "OTHER",
2830
- "definition": {
2831
- "$type": "RegexToken",
2832
- "regex": "/[^\\\\s\\\\w\\\\[\\\\]()\`]/",
2833
- "parenthesized": false
2834
- },
2835
- "fragment": false,
2836
- "hidden": false
2837
- },
2838
- {
2839
- "$type": "TerminalRule",
2840
- "name": "INLINE_CODE",
2841
- "definition": {
2842
- "$type": "RegexToken",
2843
- "regex": "/\`[^\`\\\\n]+\`/",
2844
- "parenthesized": false
2845
- },
2846
- "fragment": false,
2847
- "hidden": false
2848
- },
2849
- {
2850
- "$type": "TerminalRule",
2851
- "name": "CODE_FENCE",
2852
- "definition": {
2853
- "$type": "RegexToken",
2854
- "regex": "/\`\`\`[^\\\\n]*(?:\\\\r?\\\\n[\\\\s\\\\S]*?)?\`\`\`/",
2855
- "parenthesized": false
2856
- },
2857
- "fragment": false,
2858
- "hidden": false
2859
- }
2860
- ],
2861
- "imports": [],
2862
- "interfaces": [],
2863
- "types": [],
2864
- "$comment": "/**\\n * Implementation of the rules described in reqlan rq/language/syntax.rq.\\n *\\n * Design:\\n * - Imports and top-level declarations are line-oriented; import/from/as are keywords only there.\\n * - One-liner ideas are name + body on a single line; block ideas use braces for rich content.\\n * - ReferenceTarget covers local members, import-qualified, alias-qualified, and file targets.\\n */"
2865
- }`));
2866
- let loadedReqlanCommentGrammar;
2867
- export const ReqlanCommentGrammar = () => loadedReqlanCommentGrammar ?? (loadedReqlanCommentGrammar = loadGrammarFromJson(`{
2868
- "$type": "Grammar",
2869
- "isDeclared": true,
2870
- "name": "ReqlanComment",
2871
- "rules": [
2872
- {
2873
- "$type": "ParserRule",
2874
- "entry": true,
2875
- "name": "CommentModel",
2876
- "definition": {
2877
- "$type": "Assignment",
2878
- "feature": "references",
2879
- "operator": "+=",
2880
- "terminal": {
2881
- "$type": "RuleCall",
2882
- "rule": {
2883
- "$ref": "#/rules@1"
2884
- },
2885
- "arguments": []
2886
- },
2887
- "cardinality": "*"
2888
- },
2889
- "fragment": false,
2890
- "parameters": []
2891
- },
2892
- {
2893
- "$type": "ParserRule",
2894
- "name": "CommentReference",
2895
- "definition": {
2896
- "$type": "Group",
2897
- "elements": [
2898
- {
2899
- "$type": "Keyword",
2900
- "value": "rq"
2901
- },
2902
- {
2903
- "$type": "Keyword",
2904
- "value": ":"
2905
- },
2906
- {
2907
- "$type": "Keyword",
2908
- "value": "["
2909
- },
2910
- {
2911
- "$type": "Assignment",
2912
- "feature": "target",
2913
- "operator": "=",
2914
- "terminal": {
2915
- "$type": "RuleCall",
2916
- "rule": {
2917
- "$ref": "#/rules@2"
2918
- },
2919
- "arguments": []
2920
- }
2921
- },
2922
- {
2923
- "$type": "Keyword",
2924
- "value": "]"
2925
- }
2926
- ]
2927
- },
2928
- "entry": false,
2929
- "fragment": false,
2930
- "parameters": []
2931
- },
2932
- {
2933
- "$type": "ParserRule",
2934
- "name": "CommentReferenceTarget",
2935
- "definition": {
2936
- "$type": "Alternatives",
2937
- "elements": [
2938
- {
2939
- "$type": "RuleCall",
2940
- "rule": {
2941
- "$ref": "#/rules@3"
2942
- },
2943
- "arguments": []
2944
- },
2945
- {
2946
- "$type": "RuleCall",
2947
- "rule": {
2948
- "$ref": "#/rules@4"
2949
- },
2950
- "arguments": []
2951
- }
2952
- ]
2953
- },
2954
- "entry": false,
2955
- "fragment": false,
2956
- "parameters": []
2957
- },
2958
- {
2959
- "$type": "ParserRule",
2960
- "name": "QualifiedCommentReference",
2961
- "definition": {
2962
- "$type": "Group",
2963
- "elements": [
2964
- {
2965
- "$type": "Assignment",
2966
- "feature": "path",
2967
- "operator": "=",
2968
- "terminal": {
2969
- "$type": "RuleCall",
2970
- "rule": {
2971
- "$ref": "#/rules@6"
2972
- },
2973
- "arguments": []
2974
- }
2975
- },
2976
- {
2977
- "$type": "Keyword",
2978
- "value": "."
2979
- },
2980
- {
2981
- "$type": "Assignment",
2982
- "feature": "idea",
2983
- "operator": "=",
2984
- "terminal": {
2985
- "$type": "RuleCall",
2986
- "rule": {
2987
- "$ref": "#/rules@5"
2988
- },
2989
- "arguments": []
2990
- }
2991
- }
2992
- ]
2993
- },
2994
- "entry": false,
2995
- "fragment": false,
2996
- "parameters": []
2997
- },
2998
- {
2999
- "$type": "ParserRule",
3000
- "name": "LocalCommentReference",
3001
- "definition": {
3002
- "$type": "Assignment",
3003
- "feature": "idea",
3004
- "operator": "=",
3005
- "terminal": {
3006
- "$type": "RuleCall",
3007
- "rule": {
3008
- "$ref": "#/rules@5"
3009
- },
3010
- "arguments": []
3011
- }
3012
- },
3013
- "entry": false,
3014
- "fragment": false,
3015
- "parameters": []
3016
- },
3017
- {
3018
- "$type": "TerminalRule",
3019
- "name": "ID",
3020
- "definition": {
3021
- "$type": "RegexToken",
3022
- "regex": "/[_a-zA-Z][\\\\w_]*/",
3023
- "parenthesized": false
3024
- },
3025
- "fragment": false,
3026
- "hidden": false
3027
- },
3028
- {
3029
- "$type": "TerminalRule",
3030
- "name": "STRING",
3031
- "definition": {
3032
- "$type": "RegexToken",
3033
- "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"/",
3034
- "parenthesized": false
3035
- },
3036
- "fragment": false,
3037
- "hidden": false
3038
- }
3039
- ],
3040
- "imports": [],
3041
- "interfaces": [],
3042
- "types": [],
3043
- "$comment": "/**\\n * Embedded reqlan references in comments of arbitrary source files.\\n * Syntax: rq:[idea] or rq:[\\"./reqfile.rq\\".idea_name]\\n */"
3044
- }`));
3045
- //# sourceMappingURL=grammar.js.map