@reqlan/language 1.4.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 (371) hide show
  1. package/README.md +24 -0
  2. package/out/file-path-rewrite.d.ts +25 -0
  3. package/out/file-path-rewrite.js +56 -0
  4. package/out/file-path-rewrite.js.map +1 -0
  5. package/out/generated/ast.d.ts +1157 -0
  6. package/out/generated/ast.js +980 -0
  7. package/out/generated/ast.js.map +1 -0
  8. package/out/generated/grammar.d.ts +7 -0
  9. package/out/generated/grammar.js +3071 -0
  10. package/out/generated/grammar.js.map +1 -0
  11. package/out/generated/module.d.ts +20 -0
  12. package/out/generated/module.js +32 -0
  13. package/out/generated/module.js.map +1 -0
  14. package/out/index.d.ts +34 -0
  15. package/out/index.js +35 -0
  16. package/out/index.js.map +1 -0
  17. package/out/reqlan-attribute-catalog.d.ts +19 -0
  18. package/out/reqlan-attribute-catalog.js +87 -0
  19. package/out/reqlan-attribute-catalog.js.map +1 -0
  20. package/out/reqlan-code-action-provider.d.ts +55 -0
  21. package/out/reqlan-code-action-provider.js +269 -0
  22. package/out/reqlan-code-action-provider.js.map +1 -0
  23. package/out/reqlan-code-lens-provider.d.ts +13 -0
  24. package/out/reqlan-code-lens-provider.js +27 -0
  25. package/out/reqlan-code-lens-provider.js.map +1 -0
  26. package/out/reqlan-code-lens-settings.d.ts +34 -0
  27. package/out/reqlan-code-lens-settings.js +12 -0
  28. package/out/reqlan-code-lens-settings.js.map +1 -0
  29. package/out/reqlan-comment-resolver.d.ts +35 -0
  30. package/out/reqlan-comment-resolver.js +308 -0
  31. package/out/reqlan-comment-resolver.js.map +1 -0
  32. package/out/reqlan-completion-context.d.ts +46 -0
  33. package/out/reqlan-completion-context.js +244 -0
  34. package/out/reqlan-completion-context.js.map +1 -0
  35. package/out/reqlan-completion-provider.d.ts +41 -0
  36. package/out/reqlan-completion-provider.js +317 -0
  37. package/out/reqlan-completion-provider.js.map +1 -0
  38. package/out/reqlan-definition-provider.d.ts +31 -0
  39. package/out/reqlan-definition-provider.js +240 -0
  40. package/out/reqlan-definition-provider.js.map +1 -0
  41. package/out/reqlan-document-highlight-provider.d.ts +10 -0
  42. package/out/reqlan-document-highlight-provider.js +11 -0
  43. package/out/reqlan-document-highlight-provider.js.map +1 -0
  44. package/out/reqlan-document-link-provider.d.ts +14 -0
  45. package/out/reqlan-document-link-provider.js +24 -0
  46. package/out/reqlan-document-link-provider.js.map +1 -0
  47. package/out/reqlan-embedded-file-references.d.ts +11 -0
  48. package/out/reqlan-embedded-file-references.js +50 -0
  49. package/out/reqlan-embedded-file-references.js.map +1 -0
  50. package/out/reqlan-file-link-resolver.d.ts +44 -0
  51. package/out/reqlan-file-link-resolver.js +347 -0
  52. package/out/reqlan-file-link-resolver.js.map +1 -0
  53. package/out/reqlan-file-references.d.ts +15 -0
  54. package/out/reqlan-file-references.js +72 -0
  55. package/out/reqlan-file-references.js.map +1 -0
  56. package/out/reqlan-grammar-config.d.ts +5 -0
  57. package/out/reqlan-grammar-config.js +9 -0
  58. package/out/reqlan-grammar-config.js.map +1 -0
  59. package/out/reqlan-idea-reference-site.d.ts +14 -0
  60. package/out/reqlan-idea-reference-site.js +47 -0
  61. package/out/reqlan-idea-reference-site.js.map +1 -0
  62. package/out/reqlan-idea-summary.d.ts +6 -0
  63. package/out/reqlan-idea-summary.js +134 -0
  64. package/out/reqlan-idea-summary.js.map +1 -0
  65. package/out/reqlan-ignore-error.d.ts +10 -0
  66. package/out/reqlan-ignore-error.js +42 -0
  67. package/out/reqlan-ignore-error.js.map +1 -0
  68. package/out/reqlan-import-bindings.d.ts +12 -0
  69. package/out/reqlan-import-bindings.js +65 -0
  70. package/out/reqlan-import-bindings.js.map +1 -0
  71. package/out/reqlan-import-edits.d.ts +17 -0
  72. package/out/reqlan-import-edits.js +96 -0
  73. package/out/reqlan-import-edits.js.map +1 -0
  74. package/out/reqlan-imports.d.ts +22 -0
  75. package/out/reqlan-imports.js +61 -0
  76. package/out/reqlan-imports.js.map +1 -0
  77. package/out/reqlan-inbound-reference-inlay-label.d.ts +27 -0
  78. package/out/reqlan-inbound-reference-inlay-label.js +142 -0
  79. package/out/reqlan-inbound-reference-inlay-label.js.map +1 -0
  80. package/out/reqlan-inlay-hint-provider.d.ts +15 -0
  81. package/out/reqlan-inlay-hint-provider.js +54 -0
  82. package/out/reqlan-inlay-hint-provider.js.map +1 -0
  83. package/out/reqlan-inlay-hint-settings.d.ts +10 -0
  84. package/out/reqlan-inlay-hint-settings.js +10 -0
  85. package/out/reqlan-inlay-hint-settings.js.map +1 -0
  86. package/out/reqlan-linker.d.ts +26 -0
  87. package/out/reqlan-linker.js +83 -0
  88. package/out/reqlan-linker.js.map +1 -0
  89. package/out/reqlan-markdown-links.d.ts +28 -0
  90. package/out/reqlan-markdown-links.js +113 -0
  91. package/out/reqlan-markdown-links.js.map +1 -0
  92. package/out/reqlan-module.d.ts +41 -0
  93. package/out/reqlan-module.js +78 -0
  94. package/out/reqlan-module.js.map +1 -0
  95. package/out/reqlan-name-catalog.d.ts +23 -0
  96. package/out/reqlan-name-catalog.js +63 -0
  97. package/out/reqlan-name-catalog.js.map +1 -0
  98. package/out/reqlan-name-provider.d.ts +10 -0
  99. package/out/reqlan-name-provider.js +38 -0
  100. package/out/reqlan-name-provider.js.map +1 -0
  101. package/out/reqlan-namespace-import-links.d.ts +10 -0
  102. package/out/reqlan-namespace-import-links.js +69 -0
  103. package/out/reqlan-namespace-import-links.js.map +1 -0
  104. package/out/reqlan-path-completion.d.ts +50 -0
  105. package/out/reqlan-path-completion.js +304 -0
  106. package/out/reqlan-path-completion.js.map +1 -0
  107. package/out/reqlan-path-references.d.ts +5 -0
  108. package/out/reqlan-path-references.js +124 -0
  109. package/out/reqlan-path-references.js.map +1 -0
  110. package/out/reqlan-path-resolve.d.ts +81 -0
  111. package/out/reqlan-path-resolve.js +245 -0
  112. package/out/reqlan-path-resolve.js.map +1 -0
  113. package/out/reqlan-quoted-strings.d.ts +9 -0
  114. package/out/reqlan-quoted-strings.js +26 -0
  115. package/out/reqlan-quoted-strings.js.map +1 -0
  116. package/out/reqlan-reference-at-position.d.ts +20 -0
  117. package/out/reqlan-reference-at-position.js +89 -0
  118. package/out/reqlan-reference-at-position.js.map +1 -0
  119. package/out/reqlan-reference-code-lens.d.ts +32 -0
  120. package/out/reqlan-reference-code-lens.js +240 -0
  121. package/out/reqlan-reference-code-lens.js.map +1 -0
  122. package/out/reqlan-reference-search-site.d.ts +34 -0
  123. package/out/reqlan-reference-search-site.js +136 -0
  124. package/out/reqlan-reference-search-site.js.map +1 -0
  125. package/out/reqlan-references.d.ts +16 -0
  126. package/out/reqlan-references.js +51 -0
  127. package/out/reqlan-references.js.map +1 -0
  128. package/out/reqlan-scope.d.ts +25 -0
  129. package/out/reqlan-scope.js +259 -0
  130. package/out/reqlan-scope.js.map +1 -0
  131. package/out/reqlan-semantic-token-provider.d.ts +8 -0
  132. package/out/reqlan-semantic-token-provider.js +91 -0
  133. package/out/reqlan-semantic-token-provider.js.map +1 -0
  134. package/out/reqlan-token-builder.d.ts +12 -0
  135. package/out/reqlan-token-builder.js +459 -0
  136. package/out/reqlan-token-builder.js.map +1 -0
  137. package/out/reqlan-validator.d.ts +25 -0
  138. package/out/reqlan-validator.js +119 -0
  139. package/out/reqlan-validator.js.map +1 -0
  140. package/out/reqlan-workspace-attribute-catalog.d.ts +6 -0
  141. package/out/reqlan-workspace-attribute-catalog.js +54 -0
  142. package/out/reqlan-workspace-attribute-catalog.js.map +1 -0
  143. package/out/src/file-path-rewrite.d.ts +25 -0
  144. package/out/src/file-path-rewrite.js +56 -0
  145. package/out/src/file-path-rewrite.js.map +1 -0
  146. package/out/src/generated/ast.d.ts +1173 -0
  147. package/out/src/generated/ast.js +994 -0
  148. package/out/src/generated/ast.js.map +1 -0
  149. package/out/src/generated/grammar.d.ts +7 -0
  150. package/out/src/generated/grammar.js +3045 -0
  151. package/out/src/generated/grammar.js.map +1 -0
  152. package/out/src/generated/module.d.ts +20 -0
  153. package/out/src/generated/module.js +32 -0
  154. package/out/src/generated/module.js.map +1 -0
  155. package/out/src/index.d.ts +29 -0
  156. package/out/src/index.js +30 -0
  157. package/out/src/index.js.map +1 -0
  158. package/out/src/reqlan-attribute-catalog.d.ts +19 -0
  159. package/out/src/reqlan-attribute-catalog.js +87 -0
  160. package/out/src/reqlan-attribute-catalog.js.map +1 -0
  161. package/out/src/reqlan-code-action-provider.d.ts +34 -0
  162. package/out/src/reqlan-code-action-provider.js +206 -0
  163. package/out/src/reqlan-code-action-provider.js.map +1 -0
  164. package/out/src/reqlan-comment-resolver.d.ts +35 -0
  165. package/out/src/reqlan-comment-resolver.js +308 -0
  166. package/out/src/reqlan-comment-resolver.js.map +1 -0
  167. package/out/src/reqlan-completion-context.d.ts +46 -0
  168. package/out/src/reqlan-completion-context.js +244 -0
  169. package/out/src/reqlan-completion-context.js.map +1 -0
  170. package/out/src/reqlan-completion-provider.d.ts +41 -0
  171. package/out/src/reqlan-completion-provider.js +320 -0
  172. package/out/src/reqlan-completion-provider.js.map +1 -0
  173. package/out/src/reqlan-definition-provider.d.ts +31 -0
  174. package/out/src/reqlan-definition-provider.js +240 -0
  175. package/out/src/reqlan-definition-provider.js.map +1 -0
  176. package/out/src/reqlan-document-highlight-provider.d.ts +10 -0
  177. package/out/src/reqlan-document-highlight-provider.js +11 -0
  178. package/out/src/reqlan-document-highlight-provider.js.map +1 -0
  179. package/out/src/reqlan-document-link-provider.d.ts +14 -0
  180. package/out/src/reqlan-document-link-provider.js +24 -0
  181. package/out/src/reqlan-document-link-provider.js.map +1 -0
  182. package/out/src/reqlan-embedded-file-references.d.ts +11 -0
  183. package/out/src/reqlan-embedded-file-references.js +50 -0
  184. package/out/src/reqlan-embedded-file-references.js.map +1 -0
  185. package/out/src/reqlan-file-link-resolver.d.ts +44 -0
  186. package/out/src/reqlan-file-link-resolver.js +347 -0
  187. package/out/src/reqlan-file-link-resolver.js.map +1 -0
  188. package/out/src/reqlan-file-references.d.ts +15 -0
  189. package/out/src/reqlan-file-references.js +72 -0
  190. package/out/src/reqlan-file-references.js.map +1 -0
  191. package/out/src/reqlan-grammar-config.d.ts +5 -0
  192. package/out/src/reqlan-grammar-config.js +9 -0
  193. package/out/src/reqlan-grammar-config.js.map +1 -0
  194. package/out/src/reqlan-idea-summary.d.ts +6 -0
  195. package/out/src/reqlan-idea-summary.js +78 -0
  196. package/out/src/reqlan-idea-summary.js.map +1 -0
  197. package/out/src/reqlan-ignore-error.d.ts +10 -0
  198. package/out/src/reqlan-ignore-error.js +42 -0
  199. package/out/src/reqlan-ignore-error.js.map +1 -0
  200. package/out/src/reqlan-import-bindings.d.ts +12 -0
  201. package/out/src/reqlan-import-bindings.js +65 -0
  202. package/out/src/reqlan-import-bindings.js.map +1 -0
  203. package/out/src/reqlan-import-edits.d.ts +17 -0
  204. package/out/src/reqlan-import-edits.js +96 -0
  205. package/out/src/reqlan-import-edits.js.map +1 -0
  206. package/out/src/reqlan-imports.d.ts +22 -0
  207. package/out/src/reqlan-imports.js +61 -0
  208. package/out/src/reqlan-imports.js.map +1 -0
  209. package/out/src/reqlan-inbound-reference-inlay-label.d.ts +23 -0
  210. package/out/src/reqlan-inbound-reference-inlay-label.js +128 -0
  211. package/out/src/reqlan-inbound-reference-inlay-label.js.map +1 -0
  212. package/out/src/reqlan-inlay-hint-provider.d.ts +15 -0
  213. package/out/src/reqlan-inlay-hint-provider.js +54 -0
  214. package/out/src/reqlan-inlay-hint-provider.js.map +1 -0
  215. package/out/src/reqlan-inlay-hint-settings.d.ts +10 -0
  216. package/out/src/reqlan-inlay-hint-settings.js +10 -0
  217. package/out/src/reqlan-inlay-hint-settings.js.map +1 -0
  218. package/out/src/reqlan-linker.d.ts +26 -0
  219. package/out/src/reqlan-linker.js +86 -0
  220. package/out/src/reqlan-linker.js.map +1 -0
  221. package/out/src/reqlan-markdown-links.d.ts +28 -0
  222. package/out/src/reqlan-markdown-links.js +113 -0
  223. package/out/src/reqlan-markdown-links.js.map +1 -0
  224. package/out/src/reqlan-module.d.ts +41 -0
  225. package/out/src/reqlan-module.js +76 -0
  226. package/out/src/reqlan-module.js.map +1 -0
  227. package/out/src/reqlan-name-catalog.d.ts +23 -0
  228. package/out/src/reqlan-name-catalog.js +63 -0
  229. package/out/src/reqlan-name-catalog.js.map +1 -0
  230. package/out/src/reqlan-name-provider.d.ts +10 -0
  231. package/out/src/reqlan-name-provider.js +38 -0
  232. package/out/src/reqlan-name-provider.js.map +1 -0
  233. package/out/src/reqlan-namespace-import-links.d.ts +10 -0
  234. package/out/src/reqlan-namespace-import-links.js +81 -0
  235. package/out/src/reqlan-namespace-import-links.js.map +1 -0
  236. package/out/src/reqlan-path-completion.d.ts +50 -0
  237. package/out/src/reqlan-path-completion.js +304 -0
  238. package/out/src/reqlan-path-completion.js.map +1 -0
  239. package/out/src/reqlan-path-references.d.ts +5 -0
  240. package/out/src/reqlan-path-references.js +124 -0
  241. package/out/src/reqlan-path-references.js.map +1 -0
  242. package/out/src/reqlan-path-resolve.d.ts +59 -0
  243. package/out/src/reqlan-path-resolve.js +173 -0
  244. package/out/src/reqlan-path-resolve.js.map +1 -0
  245. package/out/src/reqlan-quoted-strings.d.ts +9 -0
  246. package/out/src/reqlan-quoted-strings.js +26 -0
  247. package/out/src/reqlan-quoted-strings.js.map +1 -0
  248. package/out/src/reqlan-reference-at-position.d.ts +20 -0
  249. package/out/src/reqlan-reference-at-position.js +89 -0
  250. package/out/src/reqlan-reference-at-position.js.map +1 -0
  251. package/out/src/reqlan-references.d.ts +16 -0
  252. package/out/src/reqlan-references.js +51 -0
  253. package/out/src/reqlan-references.js.map +1 -0
  254. package/out/src/reqlan-scope.d.ts +25 -0
  255. package/out/src/reqlan-scope.js +266 -0
  256. package/out/src/reqlan-scope.js.map +1 -0
  257. package/out/src/reqlan-semantic-token-provider.d.ts +8 -0
  258. package/out/src/reqlan-semantic-token-provider.js +97 -0
  259. package/out/src/reqlan-semantic-token-provider.js.map +1 -0
  260. package/out/src/reqlan-token-builder.d.ts +12 -0
  261. package/out/src/reqlan-token-builder.js +459 -0
  262. package/out/src/reqlan-token-builder.js.map +1 -0
  263. package/out/src/reqlan-validator.d.ts +25 -0
  264. package/out/src/reqlan-validator.js +119 -0
  265. package/out/src/reqlan-validator.js.map +1 -0
  266. package/out/src/reqlan-workspace-attribute-catalog.d.ts +6 -0
  267. package/out/src/reqlan-workspace-attribute-catalog.js +54 -0
  268. package/out/src/reqlan-workspace-attribute-catalog.js.map +1 -0
  269. package/out/test/code-actions.test.d.ts +1 -0
  270. package/out/test/code-actions.test.js +126 -0
  271. package/out/test/code-actions.test.js.map +1 -0
  272. package/out/test/comment-in-string.test.d.ts +1 -0
  273. package/out/test/comment-in-string.test.js +100 -0
  274. package/out/test/comment-in-string.test.js.map +1 -0
  275. package/out/test/completion.test.d.ts +1 -0
  276. package/out/test/completion.test.js +467 -0
  277. package/out/test/completion.test.js.map +1 -0
  278. package/out/test/file-path-rewrite.test.d.ts +1 -0
  279. package/out/test/file-path-rewrite.test.js +64 -0
  280. package/out/test/file-path-rewrite.test.js.map +1 -0
  281. package/out/test/ignore-error.test.d.ts +1 -0
  282. package/out/test/ignore-error.test.js +87 -0
  283. package/out/test/ignore-error.test.js.map +1 -0
  284. package/out/test/implicit-import-extension.test.d.ts +1 -0
  285. package/out/test/implicit-import-extension.test.js +203 -0
  286. package/out/test/implicit-import-extension.test.js.map +1 -0
  287. package/out/test/import-edits.test.d.ts +1 -0
  288. package/out/test/import-edits.test.js +20 -0
  289. package/out/test/import-edits.test.js.map +1 -0
  290. package/out/test/inlay-hints.test.d.ts +1 -0
  291. package/out/test/inlay-hints.test.js +238 -0
  292. package/out/test/inlay-hints.test.js.map +1 -0
  293. package/out/test/linking.test.d.ts +1 -0
  294. package/out/test/linking.test.js +754 -0
  295. package/out/test/linking.test.js.map +1 -0
  296. package/out/test/naked-strings.test.d.ts +1 -0
  297. package/out/test/naked-strings.test.js +50 -0
  298. package/out/test/naked-strings.test.js.map +1 -0
  299. package/out/test/parsing.test.d.ts +1 -0
  300. package/out/test/parsing.test.js +773 -0
  301. package/out/test/parsing.test.js.map +1 -0
  302. package/out/test/path-resolve.test.d.ts +1 -0
  303. package/out/test/path-resolve.test.js +88 -0
  304. package/out/test/path-resolve.test.js.map +1 -0
  305. package/out/test/references.test.d.ts +1 -0
  306. package/out/test/references.test.js +168 -0
  307. package/out/test/references.test.js.map +1 -0
  308. package/out/test/rqconfig.test.d.ts +1 -0
  309. package/out/test/rqconfig.test.js +275 -0
  310. package/out/test/rqconfig.test.js.map +1 -0
  311. package/out/test/test-requirement-refs.d.ts +8 -0
  312. package/out/test/test-requirement-refs.js +35 -0
  313. package/out/test/test-requirement-refs.js.map +1 -0
  314. package/out/test/testing.test.d.ts +1 -0
  315. package/out/test/testing.test.js +23 -0
  316. package/out/test/testing.test.js.map +1 -0
  317. package/out/test/validating.test.d.ts +1 -0
  318. package/out/test/validating.test.js +117 -0
  319. package/out/test/validating.test.js.map +1 -0
  320. package/out/tsconfig.tsbuildinfo +1 -0
  321. package/package.json +54 -0
  322. package/src/chevrotain.d.ts +8 -0
  323. package/src/file-path-rewrite.ts +96 -0
  324. package/src/generated/ast.ts +1481 -0
  325. package/src/generated/grammar.ts +3074 -0
  326. package/src/generated/module.ts +38 -0
  327. package/src/index.ts +34 -0
  328. package/src/reqlan-attribute-catalog.ts +100 -0
  329. package/src/reqlan-code-action-provider.ts +385 -0
  330. package/src/reqlan-code-lens-provider.ts +54 -0
  331. package/src/reqlan-code-lens-settings.ts +42 -0
  332. package/src/reqlan-comment-resolver.ts +372 -0
  333. package/src/reqlan-comment.langium +23 -0
  334. package/src/reqlan-completion-context.ts +330 -0
  335. package/src/reqlan-completion-provider.ts +400 -0
  336. package/src/reqlan-definition-provider.ts +319 -0
  337. package/src/reqlan-document-highlight-provider.ts +21 -0
  338. package/src/reqlan-document-link-provider.ts +45 -0
  339. package/src/reqlan-embedded-file-references.ts +72 -0
  340. package/src/reqlan-file-link-resolver.ts +485 -0
  341. package/src/reqlan-file-references.ts +84 -0
  342. package/src/reqlan-grammar-config.ts +14 -0
  343. package/src/reqlan-idea-reference-site.ts +74 -0
  344. package/src/reqlan-idea-summary.ts +162 -0
  345. package/src/reqlan-ignore-error.ts +50 -0
  346. package/src/reqlan-import-bindings.ts +87 -0
  347. package/src/reqlan-import-edits.ts +124 -0
  348. package/src/reqlan-imports.ts +115 -0
  349. package/src/reqlan-inbound-reference-inlay-label.ts +194 -0
  350. package/src/reqlan-inlay-hint-provider.ts +88 -0
  351. package/src/reqlan-inlay-hint-settings.ts +15 -0
  352. package/src/reqlan-linker.ts +108 -0
  353. package/src/reqlan-markdown-links.ts +136 -0
  354. package/src/reqlan-module.ts +104 -0
  355. package/src/reqlan-name-catalog.ts +81 -0
  356. package/src/reqlan-name-provider.ts +56 -0
  357. package/src/reqlan-namespace-import-links.ts +92 -0
  358. package/src/reqlan-path-completion.ts +420 -0
  359. package/src/reqlan-path-references.ts +140 -0
  360. package/src/reqlan-path-resolve.ts +346 -0
  361. package/src/reqlan-quoted-strings.ts +30 -0
  362. package/src/reqlan-reference-at-position.ts +154 -0
  363. package/src/reqlan-reference-code-lens.ts +323 -0
  364. package/src/reqlan-reference-search-site.ts +202 -0
  365. package/src/reqlan-references.ts +76 -0
  366. package/src/reqlan-scope.ts +312 -0
  367. package/src/reqlan-semantic-token-provider.ts +113 -0
  368. package/src/reqlan-token-builder.ts +492 -0
  369. package/src/reqlan-validator.ts +149 -0
  370. package/src/reqlan-workspace-attribute-catalog.ts +62 -0
  371. package/src/reqlan.langium +236 -0
@@ -0,0 +1,1481 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+
6
+ /* eslint-disable */
7
+ import * as langium from 'langium';
8
+
9
+ /** Contains the reachable terminals & keywords and all available types of the 'Reqlan' language. */
10
+ export namespace Reqlan {
11
+
12
+ export const Terminals = {
13
+ NL: /\r?\n/,
14
+ WS: /[ \t]+/,
15
+ ML_COMMENT: /\/\*[\s\S]*?\*\//,
16
+ SL_COMMENT: /\/\/[^\n\r]*/,
17
+ MARKDOWN_LINK: /\[(?!\[)[^\]]+\]\([^)]+\)/,
18
+ ID: /[_a-zA-Z][\w-]*/,
19
+ STRING: /"(\\.|[^"\\\r\n])*"|'(\\.|[^'\\\r\n])*'/,
20
+ NUMBER: /\d+/,
21
+ WORD: /[A-Za-z_][\w']*/,
22
+ OTHER: /[^\s\w\[\]()`]/,
23
+ INLINE_CODE: /`[^`\n]+`/,
24
+ CODE_FENCE: /```[^\n]*(?:\r?\n[\s\S]*?)?```/,
25
+ };
26
+
27
+ export type TerminalNames = keyof typeof Terminals;
28
+
29
+ export type KeywordNames =
30
+ | "!"
31
+ | "("
32
+ | ")"
33
+ | ","
34
+ | "-"
35
+ | "."
36
+ | ":"
37
+ | ";"
38
+ | "?"
39
+ | "@"
40
+ | "["
41
+ | "[["
42
+ | "]"
43
+ | "]]"
44
+ | "`"
45
+ | "as"
46
+ | "from"
47
+ | "import"
48
+ | "{"
49
+ | "|"
50
+ | "}";
51
+
52
+ export type TokenNames = TerminalNames | KeywordNames;
53
+
54
+ export type AstType = {
55
+ AliasPart: AliasPart
56
+ AnonymousBlock: AnonymousBlock
57
+ Attribute: Attribute
58
+ AttributeValue: AttributeValue
59
+ BlockElement: BlockElement
60
+ BlockLine: BlockLine
61
+ BlockValue: BlockValue
62
+ BodyElement: BodyElement
63
+ BodyLine: BodyLine
64
+ BracketReference: BracketReference
65
+ CodeSnippet: CodeSnippet
66
+ FileReference: FileReference
67
+ FileSymbolReference: FileSymbolReference
68
+ FromImport: FromImport
69
+ FromImportSpecifier: FromImportSpecifier
70
+ Idea: Idea
71
+ IdeaDeclaration: IdeaDeclaration
72
+ IdeaSet: IdeaSet
73
+ Import: Import
74
+ InlineTextPart: InlineTextPart
75
+ ListItem: ListItem
76
+ ListItemBody: ListItemBody
77
+ ListValue: ListValue
78
+ LocalReference: LocalReference
79
+ MarkdownLink: MarkdownLink
80
+ Model: Model
81
+ NamedBlockListItem: NamedBlockListItem
82
+ NamedList: NamedList
83
+ NamespaceImport: NamespaceImport
84
+ NestedList: NestedList
85
+ NonBangInlineTextPart: NonBangInlineTextPart
86
+ OneLinerBody: OneLinerBody
87
+ OneLinerIdea: OneLinerIdea
88
+ OneLinerListItem: OneLinerListItem
89
+ QualifiedImport: QualifiedImport
90
+ QualifiedReference: QualifiedReference
91
+ ReferenceTarget: ReferenceTarget
92
+ RichTextPart: RichTextPart
93
+ ScalarValue: ScalarValue
94
+ TopLevelElement: TopLevelElement
95
+ WikiLink: WikiLink
96
+ }
97
+
98
+ }
99
+
100
+ /** Contains the reachable terminals & keywords and all available types of the 'ReqlanComment' language. */
101
+ export namespace ReqlanComment {
102
+
103
+ export const Terminals = {
104
+ ID: /[_a-zA-Z][\w-]*/,
105
+ STRING: /"(\\.|[^"\\])*"/,
106
+ };
107
+
108
+ export type TerminalNames = keyof typeof Terminals;
109
+
110
+ export type KeywordNames =
111
+ | "."
112
+ | ":"
113
+ | "["
114
+ | "]"
115
+ | "rq";
116
+
117
+ export type TokenNames = TerminalNames | KeywordNames;
118
+
119
+ export type AstType = {
120
+ CommentModel: CommentModel
121
+ CommentReference: CommentReference
122
+ CommentReferenceTarget: CommentReferenceTarget
123
+ LocalCommentReference: LocalCommentReference
124
+ QualifiedCommentReference: QualifiedCommentReference
125
+ }
126
+
127
+ }
128
+
129
+
130
+ // the terminals, keywords and types of the whole 'Reqlan' project
131
+
132
+ export const ReqlanTerminals = {
133
+ ...Reqlan.Terminals,
134
+ ...ReqlanComment.Terminals,
135
+ };
136
+
137
+ export type ReqlanTerminalNames = keyof typeof ReqlanTerminals;
138
+
139
+ export type ReqlanKeywordNames = Reqlan.KeywordNames | ReqlanComment.KeywordNames;
140
+
141
+ export type ReqlanTokenNames = ReqlanTerminalNames | ReqlanKeywordNames;
142
+
143
+ export type ReqlanAstType = Reqlan.AstType & ReqlanComment.AstType
144
+
145
+
146
+ // all type definitions of the the whole 'Reqlan' project
147
+
148
+ export interface AliasPart extends langium.AstNode {
149
+ readonly $container: WikiLink;
150
+ readonly $type: 'AliasPart';
151
+ text: PlainText;
152
+ }
153
+
154
+ export const AliasPart = {
155
+ $type: 'AliasPart',
156
+ text: 'text'
157
+ } as const;
158
+
159
+ export function isAliasPart(item: unknown): item is AliasPart {
160
+ return reflection.isInstance(item, AliasPart.$type);
161
+ }
162
+
163
+ export interface AnonymousBlock extends langium.AstNode {
164
+ readonly $container: ListValue | NamedList | NestedList;
165
+ readonly $type: 'AnonymousBlock';
166
+ elements: Array<BodyElement>;
167
+ }
168
+
169
+ export const AnonymousBlock = {
170
+ $type: 'AnonymousBlock',
171
+ elements: 'elements'
172
+ } as const;
173
+
174
+ export function isAnonymousBlock(item: unknown): item is AnonymousBlock {
175
+ return reflection.isInstance(item, AnonymousBlock.$type);
176
+ }
177
+
178
+ export interface Attribute extends langium.AstNode {
179
+ readonly $container: AnonymousBlock | BlockValue | Idea | NamedBlockListItem;
180
+ readonly $type: 'Attribute';
181
+ name: string;
182
+ negated: boolean;
183
+ value?: AttributeValue;
184
+ }
185
+
186
+ export const Attribute = {
187
+ $type: 'Attribute',
188
+ name: 'name',
189
+ negated: 'negated',
190
+ value: 'value'
191
+ } as const;
192
+
193
+ export function isAttribute(item: unknown): item is Attribute {
194
+ return reflection.isInstance(item, Attribute.$type);
195
+ }
196
+
197
+ export type AttributeValue = BlockValue | ListValue | ScalarValue;
198
+
199
+ export const AttributeValue = {
200
+ $type: 'AttributeValue'
201
+ } as const;
202
+
203
+ export function isAttributeValue(item: unknown): item is AttributeValue {
204
+ return reflection.isInstance(item, AttributeValue.$type);
205
+ }
206
+
207
+ export type BlockElement = Attribute | BlockLine | CodeSnippet | NamedList | NestedList;
208
+
209
+ export const BlockElement = {
210
+ $type: 'BlockElement'
211
+ } as const;
212
+
213
+ export function isBlockElement(item: unknown): item is BlockElement {
214
+ return reflection.isInstance(item, BlockElement.$type);
215
+ }
216
+
217
+ export interface BlockLine extends langium.AstNode {
218
+ readonly $container: BlockValue;
219
+ readonly $type: 'BlockLine';
220
+ parts: Array<RichTextPart>;
221
+ }
222
+
223
+ export const BlockLine = {
224
+ $type: 'BlockLine',
225
+ parts: 'parts'
226
+ } as const;
227
+
228
+ export function isBlockLine(item: unknown): item is BlockLine {
229
+ return reflection.isInstance(item, BlockLine.$type);
230
+ }
231
+
232
+ export interface BlockValue extends langium.AstNode {
233
+ readonly $container: Attribute;
234
+ readonly $type: 'BlockValue';
235
+ elements: Array<BlockElement>;
236
+ }
237
+
238
+ export const BlockValue = {
239
+ $type: 'BlockValue',
240
+ elements: 'elements'
241
+ } as const;
242
+
243
+ export function isBlockValue(item: unknown): item is BlockValue {
244
+ return reflection.isInstance(item, BlockValue.$type);
245
+ }
246
+
247
+ export type BodyElement = Attribute | BodyLine | CodeSnippet | NamedList | NestedList;
248
+
249
+ export const BodyElement = {
250
+ $type: 'BodyElement'
251
+ } as const;
252
+
253
+ export function isBodyElement(item: unknown): item is BodyElement {
254
+ return reflection.isInstance(item, BodyElement.$type);
255
+ }
256
+
257
+ export interface BodyLine extends langium.AstNode {
258
+ readonly $container: AnonymousBlock | Idea | NamedBlockListItem;
259
+ readonly $type: 'BodyLine';
260
+ parts: Array<RichTextPart>;
261
+ }
262
+
263
+ export const BodyLine = {
264
+ $type: 'BodyLine',
265
+ parts: 'parts'
266
+ } as const;
267
+
268
+ export function isBodyLine(item: unknown): item is BodyLine {
269
+ return reflection.isInstance(item, BodyLine.$type);
270
+ }
271
+
272
+ export interface BracketReference extends InlineTextPart, NonBangInlineTextPart, RichTextPart {
273
+ readonly $container: ListItemBody | OneLinerBody;
274
+ readonly $type: 'BracketReference';
275
+ target: ReferenceTarget;
276
+ }
277
+
278
+ export const BracketReference = {
279
+ $type: 'BracketReference',
280
+ inlineCode: 'inlineCode',
281
+ lparen: 'lparen',
282
+ rparen: 'rparen',
283
+ target: 'target',
284
+ text: 'text'
285
+ } as const;
286
+
287
+ export function isBracketReference(item: unknown): item is BracketReference {
288
+ return reflection.isInstance(item, BracketReference.$type);
289
+ }
290
+
291
+ export interface CodeSnippet extends langium.AstNode {
292
+ readonly $container: AnonymousBlock | BlockValue | Idea | NamedBlockListItem;
293
+ readonly $type: 'CodeSnippet';
294
+ raw: string;
295
+ }
296
+
297
+ export const CodeSnippet = {
298
+ $type: 'CodeSnippet',
299
+ raw: 'raw'
300
+ } as const;
301
+
302
+ export function isCodeSnippet(item: unknown): item is CodeSnippet {
303
+ return reflection.isInstance(item, CodeSnippet.$type);
304
+ }
305
+
306
+ export interface CommentModel extends langium.AstNode {
307
+ readonly $type: 'CommentModel';
308
+ references: Array<CommentReference>;
309
+ }
310
+
311
+ export const CommentModel = {
312
+ $type: 'CommentModel',
313
+ references: 'references'
314
+ } as const;
315
+
316
+ export function isCommentModel(item: unknown): item is CommentModel {
317
+ return reflection.isInstance(item, CommentModel.$type);
318
+ }
319
+
320
+ export interface CommentReference extends langium.AstNode {
321
+ readonly $container: CommentModel;
322
+ readonly $type: 'CommentReference';
323
+ target: CommentReferenceTarget;
324
+ }
325
+
326
+ export const CommentReference = {
327
+ $type: 'CommentReference',
328
+ target: 'target'
329
+ } as const;
330
+
331
+ export function isCommentReference(item: unknown): item is CommentReference {
332
+ return reflection.isInstance(item, CommentReference.$type);
333
+ }
334
+
335
+ export type CommentReferenceTarget = LocalCommentReference | QualifiedCommentReference;
336
+
337
+ export const CommentReferenceTarget = {
338
+ $type: 'CommentReferenceTarget'
339
+ } as const;
340
+
341
+ export function isCommentReferenceTarget(item: unknown): item is CommentReferenceTarget {
342
+ return reflection.isInstance(item, CommentReferenceTarget.$type);
343
+ }
344
+
345
+ export interface FileReference extends langium.AstNode {
346
+ readonly $container: BracketReference | WikiLink;
347
+ readonly $type: 'FileReference';
348
+ file: string;
349
+ }
350
+
351
+ export const FileReference = {
352
+ $type: 'FileReference',
353
+ file: 'file'
354
+ } as const;
355
+
356
+ export function isFileReference(item: unknown): item is FileReference {
357
+ return reflection.isInstance(item, FileReference.$type);
358
+ }
359
+
360
+ export interface FileSymbolReference extends langium.AstNode {
361
+ readonly $container: BracketReference | WikiLink;
362
+ readonly $type: 'FileSymbolReference';
363
+ file: string;
364
+ symbols: Array<string>;
365
+ }
366
+
367
+ export const FileSymbolReference = {
368
+ $type: 'FileSymbolReference',
369
+ file: 'file',
370
+ symbols: 'symbols'
371
+ } as const;
372
+
373
+ export function isFileSymbolReference(item: unknown): item is FileSymbolReference {
374
+ return reflection.isInstance(item, FileSymbolReference.$type);
375
+ }
376
+
377
+ export interface FromImport extends langium.AstNode {
378
+ readonly $container: Model;
379
+ readonly $type: 'FromImport';
380
+ path: string;
381
+ specifiers: Array<FromImportSpecifier>;
382
+ }
383
+
384
+ export const FromImport = {
385
+ $type: 'FromImport',
386
+ path: 'path',
387
+ specifiers: 'specifiers'
388
+ } as const;
389
+
390
+ export function isFromImport(item: unknown): item is FromImport {
391
+ return reflection.isInstance(item, FromImport.$type);
392
+ }
393
+
394
+ export interface FromImportSpecifier extends langium.AstNode {
395
+ readonly $container: FromImport;
396
+ readonly $type: 'FromImportSpecifier';
397
+ alias?: string;
398
+ idea: langium.Reference<IdeaDeclaration>;
399
+ }
400
+
401
+ export const FromImportSpecifier = {
402
+ $type: 'FromImportSpecifier',
403
+ alias: 'alias',
404
+ idea: 'idea'
405
+ } as const;
406
+
407
+ export function isFromImportSpecifier(item: unknown): item is FromImportSpecifier {
408
+ return reflection.isInstance(item, FromImportSpecifier.$type);
409
+ }
410
+
411
+ export interface Idea extends langium.AstNode {
412
+ readonly $container: Model;
413
+ readonly $type: 'Idea';
414
+ elements: Array<BodyElement>;
415
+ name: IdeaName;
416
+ }
417
+
418
+ export const Idea = {
419
+ $type: 'Idea',
420
+ elements: 'elements',
421
+ name: 'name'
422
+ } as const;
423
+
424
+ export function isIdea(item: unknown): item is Idea {
425
+ return reflection.isInstance(item, Idea.$type);
426
+ }
427
+
428
+ export type IdeaDeclaration = Idea | OneLinerIdea;
429
+
430
+ export const IdeaDeclaration = {
431
+ $type: 'IdeaDeclaration'
432
+ } as const;
433
+
434
+ export function isIdeaDeclaration(item: unknown): item is IdeaDeclaration {
435
+ return reflection.isInstance(item, IdeaDeclaration.$type);
436
+ }
437
+
438
+ export type IdeaMemberName = string;
439
+
440
+ export function isIdeaMemberName(item: unknown): item is IdeaMemberName {
441
+ return (typeof item === 'string' && (/[_a-zA-Z][\w-]*/.test(item) || /"(\\.|[^"\\\r\n])*"|'(\\.|[^'\\\r\n])*'/.test(item)));
442
+ }
443
+
444
+ export type IdeaName = string;
445
+
446
+ export function isIdeaName(item: unknown): item is IdeaName {
447
+ return (typeof item === 'string' && (/[_a-zA-Z][\w-]*/.test(item) || /"(\\.|[^"\\\r\n])*"|'(\\.|[^'\\\r\n])*'/.test(item)));
448
+ }
449
+
450
+ export interface IdeaSet extends langium.AstNode {
451
+ readonly $container: Model;
452
+ readonly $type: 'IdeaSet';
453
+ members: Array<langium.Reference<IdeaDeclaration>>;
454
+ name: IdeaName;
455
+ }
456
+
457
+ export const IdeaSet = {
458
+ $type: 'IdeaSet',
459
+ members: 'members',
460
+ name: 'name'
461
+ } as const;
462
+
463
+ export function isIdeaSet(item: unknown): item is IdeaSet {
464
+ return reflection.isInstance(item, IdeaSet.$type);
465
+ }
466
+
467
+ export type Import = FromImport | NamespaceImport | QualifiedImport;
468
+
469
+ export const Import = {
470
+ $type: 'Import'
471
+ } as const;
472
+
473
+ export function isImport(item: unknown): item is Import {
474
+ return reflection.isInstance(item, Import.$type);
475
+ }
476
+
477
+ export interface InlineTextPart extends langium.AstNode {
478
+ readonly $container: ListItemBody | OneLinerBody | ScalarValue;
479
+ readonly $type: 'BracketReference' | 'InlineTextPart' | 'MarkdownLink' | 'WikiLink';
480
+ inlineCode?: string;
481
+ text?: PlainText;
482
+ }
483
+
484
+ export const InlineTextPart = {
485
+ $type: 'InlineTextPart',
486
+ inlineCode: 'inlineCode',
487
+ text: 'text'
488
+ } as const;
489
+
490
+ export function isInlineTextPart(item: unknown): item is InlineTextPart {
491
+ return reflection.isInstance(item, InlineTextPart.$type);
492
+ }
493
+
494
+ export type ListItem = AnonymousBlock | NamedBlockListItem | NestedList | OneLinerListItem;
495
+
496
+ export const ListItem = {
497
+ $type: 'ListItem'
498
+ } as const;
499
+
500
+ export function isListItem(item: unknown): item is ListItem {
501
+ return reflection.isInstance(item, ListItem.$type);
502
+ }
503
+
504
+ export interface ListItemBody extends langium.AstNode {
505
+ readonly $container: OneLinerListItem;
506
+ readonly $type: 'ListItemBody';
507
+ content: Array<BracketReference | ListItemText | MarkdownLink | WikiLink>;
508
+ }
509
+
510
+ export const ListItemBody = {
511
+ $type: 'ListItemBody',
512
+ content: 'content'
513
+ } as const;
514
+
515
+ export function isListItemBody(item: unknown): item is ListItemBody {
516
+ return reflection.isInstance(item, ListItemBody.$type);
517
+ }
518
+
519
+ export type ListItemPunctuation = '!' | '-' | '.' | ':' | ';' | '?';
520
+
521
+ export function isListItemPunctuation(item: unknown): item is ListItemPunctuation {
522
+ return item === '.' || item === ':' || item === ';' || item === '!' || item === '?' || item === '-';
523
+ }
524
+
525
+ export type ListItemText = '(' | '`' | 'as' | 'from' | 'import' | '|' | ListItemPunctuation | string;
526
+
527
+ export function isListItemText(item: unknown): item is ListItemText {
528
+ return isListItemPunctuation(item) || item === '(' || item === '|' || item === 'from' || item === 'import' || item === 'as' || item === '`' || (typeof item === 'string' && (/[A-Za-z_][\w']*/.test(item) || /[_a-zA-Z][\w-]*/.test(item) || /\d+/.test(item) || /`[^`\n]+`/.test(item) || /[^\s\w\[\]()`]/.test(item)));
529
+ }
530
+
531
+ export interface ListValue extends langium.AstNode {
532
+ readonly $container: Attribute;
533
+ readonly $type: 'ListValue';
534
+ items: Array<ListItem>;
535
+ }
536
+
537
+ export const ListValue = {
538
+ $type: 'ListValue',
539
+ items: 'items'
540
+ } as const;
541
+
542
+ export function isListValue(item: unknown): item is ListValue {
543
+ return reflection.isInstance(item, ListValue.$type);
544
+ }
545
+
546
+ export interface LocalCommentReference extends langium.AstNode {
547
+ readonly $container: CommentReference;
548
+ readonly $type: 'LocalCommentReference';
549
+ idea: string;
550
+ }
551
+
552
+ export const LocalCommentReference = {
553
+ $type: 'LocalCommentReference',
554
+ idea: 'idea'
555
+ } as const;
556
+
557
+ export function isLocalCommentReference(item: unknown): item is LocalCommentReference {
558
+ return reflection.isInstance(item, LocalCommentReference.$type);
559
+ }
560
+
561
+ export interface LocalReference extends langium.AstNode {
562
+ readonly $container: BracketReference | WikiLink;
563
+ readonly $type: 'LocalReference';
564
+ idea: langium.Reference<IdeaDeclaration>;
565
+ }
566
+
567
+ export const LocalReference = {
568
+ $type: 'LocalReference',
569
+ idea: 'idea'
570
+ } as const;
571
+
572
+ export function isLocalReference(item: unknown): item is LocalReference {
573
+ return reflection.isInstance(item, LocalReference.$type);
574
+ }
575
+
576
+ export interface MarkdownLink extends InlineTextPart, NonBangInlineTextPart, RichTextPart {
577
+ readonly $container: ListItemBody | OneLinerBody;
578
+ readonly $type: 'MarkdownLink';
579
+ raw: string;
580
+ }
581
+
582
+ export const MarkdownLink = {
583
+ $type: 'MarkdownLink',
584
+ inlineCode: 'inlineCode',
585
+ lparen: 'lparen',
586
+ raw: 'raw',
587
+ rparen: 'rparen',
588
+ text: 'text'
589
+ } as const;
590
+
591
+ export function isMarkdownLink(item: unknown): item is MarkdownLink {
592
+ return reflection.isInstance(item, MarkdownLink.$type);
593
+ }
594
+
595
+ export interface Model extends langium.AstNode {
596
+ readonly $type: 'Model';
597
+ elements: Array<TopLevelElement>;
598
+ imports: Array<Import>;
599
+ }
600
+
601
+ export const Model = {
602
+ $type: 'Model',
603
+ elements: 'elements',
604
+ imports: 'imports'
605
+ } as const;
606
+
607
+ export function isModel(item: unknown): item is Model {
608
+ return reflection.isInstance(item, Model.$type);
609
+ }
610
+
611
+ export interface NamedBlockListItem extends langium.AstNode {
612
+ readonly $container: ListValue | NamedList | NestedList;
613
+ readonly $type: 'NamedBlockListItem';
614
+ elements: Array<BodyElement>;
615
+ name: string;
616
+ }
617
+
618
+ export const NamedBlockListItem = {
619
+ $type: 'NamedBlockListItem',
620
+ elements: 'elements',
621
+ name: 'name'
622
+ } as const;
623
+
624
+ export function isNamedBlockListItem(item: unknown): item is NamedBlockListItem {
625
+ return reflection.isInstance(item, NamedBlockListItem.$type);
626
+ }
627
+
628
+ export interface NamedList extends langium.AstNode {
629
+ readonly $container: AnonymousBlock | BlockValue | Idea | NamedBlockListItem;
630
+ readonly $type: 'NamedList';
631
+ items: Array<ListItem>;
632
+ label: string;
633
+ }
634
+
635
+ export const NamedList = {
636
+ $type: 'NamedList',
637
+ items: 'items',
638
+ label: 'label'
639
+ } as const;
640
+
641
+ export function isNamedList(item: unknown): item is NamedList {
642
+ return reflection.isInstance(item, NamedList.$type);
643
+ }
644
+
645
+ export interface NamespaceImport extends langium.AstNode {
646
+ readonly $container: Model;
647
+ readonly $type: 'NamespaceImport';
648
+ alias?: string;
649
+ path: string;
650
+ }
651
+
652
+ export const NamespaceImport = {
653
+ $type: 'NamespaceImport',
654
+ alias: 'alias',
655
+ path: 'path'
656
+ } as const;
657
+
658
+ export function isNamespaceImport(item: unknown): item is NamespaceImport {
659
+ return reflection.isInstance(item, NamespaceImport.$type);
660
+ }
661
+
662
+ export interface NestedList extends langium.AstNode {
663
+ readonly $container: AnonymousBlock | BlockValue | Idea | ListValue | NamedBlockListItem | NamedList | NestedList;
664
+ readonly $type: 'NestedList';
665
+ items: Array<ListItem>;
666
+ }
667
+
668
+ export const NestedList = {
669
+ $type: 'NestedList',
670
+ items: 'items'
671
+ } as const;
672
+
673
+ export function isNestedList(item: unknown): item is NestedList {
674
+ return reflection.isInstance(item, NestedList.$type);
675
+ }
676
+
677
+ export interface NonBangInlineTextPart extends langium.AstNode {
678
+ readonly $container: ListItemBody | OneLinerBody | ScalarValue;
679
+ readonly $type: 'BracketReference' | 'MarkdownLink' | 'NonBangInlineTextPart' | 'WikiLink';
680
+ inlineCode?: string;
681
+ text?: NonBangPlainText;
682
+ }
683
+
684
+ export const NonBangInlineTextPart = {
685
+ $type: 'NonBangInlineTextPart',
686
+ inlineCode: 'inlineCode',
687
+ text: 'text'
688
+ } as const;
689
+
690
+ export function isNonBangInlineTextPart(item: unknown): item is NonBangInlineTextPart {
691
+ return reflection.isInstance(item, NonBangInlineTextPart.$type);
692
+ }
693
+
694
+ export type NonBangPlainText = '[' | ']' | '`' | 'as' | 'from' | 'import' | '|' | NonBangPunctuation | string;
695
+
696
+ export function isNonBangPlainText(item: unknown): item is NonBangPlainText {
697
+ return isNonBangPunctuation(item) || item === '[' || item === ']' || item === '|' || item === 'from' || item === 'import' || item === 'as' || item === '`' || (typeof item === 'string' && (/[A-Za-z_][\w']*/.test(item) || /[_a-zA-Z][\w-]*/.test(item) || /\d+/.test(item) || /[^\s\w\[\]()`]/.test(item)));
698
+ }
699
+
700
+ export type NonBangPunctuation = ',' | '-' | '.' | ';' | '?';
701
+
702
+ export function isNonBangPunctuation(item: unknown): item is NonBangPunctuation {
703
+ return item === '.' || item === ',' || item === ';' || item === '?' || item === '-';
704
+ }
705
+
706
+ export interface OneLinerBody extends langium.AstNode {
707
+ readonly $container: OneLinerIdea;
708
+ readonly $type: 'OneLinerBody';
709
+ content: Array<BracketReference | MarkdownLink | OneLinerText | WikiLink>;
710
+ }
711
+
712
+ export const OneLinerBody = {
713
+ $type: 'OneLinerBody',
714
+ content: 'content'
715
+ } as const;
716
+
717
+ export function isOneLinerBody(item: unknown): item is OneLinerBody {
718
+ return reflection.isInstance(item, OneLinerBody.$type);
719
+ }
720
+
721
+ export interface OneLinerIdea extends langium.AstNode {
722
+ readonly $container: Model;
723
+ readonly $type: 'OneLinerIdea';
724
+ body?: OneLinerBody;
725
+ name: IdeaName;
726
+ }
727
+
728
+ export const OneLinerIdea = {
729
+ $type: 'OneLinerIdea',
730
+ body: 'body',
731
+ name: 'name'
732
+ } as const;
733
+
734
+ export function isOneLinerIdea(item: unknown): item is OneLinerIdea {
735
+ return reflection.isInstance(item, OneLinerIdea.$type);
736
+ }
737
+
738
+ export interface OneLinerListItem extends langium.AstNode {
739
+ readonly $container: ListValue | NamedList | NestedList;
740
+ readonly $type: 'OneLinerListItem';
741
+ body: ListItemBody;
742
+ }
743
+
744
+ export const OneLinerListItem = {
745
+ $type: 'OneLinerListItem',
746
+ body: 'body'
747
+ } as const;
748
+
749
+ export function isOneLinerListItem(item: unknown): item is OneLinerListItem {
750
+ return reflection.isInstance(item, OneLinerListItem.$type);
751
+ }
752
+
753
+ export type OneLinerText = '(' | ')' | '`' | 'as' | 'from' | 'import' | '|' | PlainPunctuation | string;
754
+
755
+ export function isOneLinerText(item: unknown): item is OneLinerText {
756
+ return isPlainPunctuation(item) || item === '(' || item === ')' || item === '|' || item === 'from' || item === 'import' || item === 'as' || item === '`' || (typeof item === 'string' && (/[A-Za-z_][\w']*/.test(item) || /[_a-zA-Z][\w-]*/.test(item) || /\d+/.test(item) || /`[^`\n]+`/.test(item) || /[^\s\w\[\]()`]/.test(item)));
757
+ }
758
+
759
+ export type PlainPunctuation = '!' | ',' | '-' | '.' | ':' | ';' | '?';
760
+
761
+ export function isPlainPunctuation(item: unknown): item is PlainPunctuation {
762
+ return item === '.' || item === ',' || item === ':' || item === ';' || item === '!' || item === '?' || item === '-';
763
+ }
764
+
765
+ export type PlainText = '[' | ']' | '`' | 'as' | 'from' | 'import' | '|' | PlainPunctuation | string;
766
+
767
+ export function isPlainText(item: unknown): item is PlainText {
768
+ return isPlainPunctuation(item) || item === '[' || item === ']' || item === '|' || item === 'from' || item === 'import' || item === 'as' || item === '`' || (typeof item === 'string' && (/[A-Za-z_][\w']*/.test(item) || /[_a-zA-Z][\w-]*/.test(item) || /\d+/.test(item) || /[^\s\w\[\]()`]/.test(item)));
769
+ }
770
+
771
+ export interface QualifiedCommentReference extends langium.AstNode {
772
+ readonly $container: CommentReference;
773
+ readonly $type: 'QualifiedCommentReference';
774
+ idea: string;
775
+ path: string;
776
+ }
777
+
778
+ export const QualifiedCommentReference = {
779
+ $type: 'QualifiedCommentReference',
780
+ idea: 'idea',
781
+ path: 'path'
782
+ } as const;
783
+
784
+ export function isQualifiedCommentReference(item: unknown): item is QualifiedCommentReference {
785
+ return reflection.isInstance(item, QualifiedCommentReference.$type);
786
+ }
787
+
788
+ export interface QualifiedImport extends langium.AstNode {
789
+ readonly $container: Model;
790
+ readonly $type: 'QualifiedImport';
791
+ alias?: string;
792
+ idea: langium.Reference<IdeaDeclaration>;
793
+ ideaset: string;
794
+ path: string;
795
+ }
796
+
797
+ export const QualifiedImport = {
798
+ $type: 'QualifiedImport',
799
+ alias: 'alias',
800
+ idea: 'idea',
801
+ ideaset: 'ideaset',
802
+ path: 'path'
803
+ } as const;
804
+
805
+ export function isQualifiedImport(item: unknown): item is QualifiedImport {
806
+ return reflection.isInstance(item, QualifiedImport.$type);
807
+ }
808
+
809
+ export interface QualifiedReference extends langium.AstNode {
810
+ readonly $container: BracketReference | WikiLink;
811
+ readonly $type: 'QualifiedReference';
812
+ idea: langium.Reference<IdeaDeclaration>;
813
+ ideaset?: langium.Reference<IdeaSet>;
814
+ path?: langium.Reference<Import>;
815
+ qualifier?: langium.Reference<Import>;
816
+ }
817
+
818
+ export const QualifiedReference = {
819
+ $type: 'QualifiedReference',
820
+ idea: 'idea',
821
+ ideaset: 'ideaset',
822
+ path: 'path',
823
+ qualifier: 'qualifier'
824
+ } as const;
825
+
826
+ export function isQualifiedReference(item: unknown): item is QualifiedReference {
827
+ return reflection.isInstance(item, QualifiedReference.$type);
828
+ }
829
+
830
+ export type ReferenceName = string;
831
+
832
+ export function isReferenceName(item: unknown): item is ReferenceName {
833
+ return (typeof item === 'string' && (/[_a-zA-Z][\w-]*/.test(item)));
834
+ }
835
+
836
+ export type ReferenceTarget = FileReference | FileSymbolReference | LocalReference | QualifiedReference;
837
+
838
+ export const ReferenceTarget = {
839
+ $type: 'ReferenceTarget'
840
+ } as const;
841
+
842
+ export function isReferenceTarget(item: unknown): item is ReferenceTarget {
843
+ return reflection.isInstance(item, ReferenceTarget.$type);
844
+ }
845
+
846
+ export interface RichTextPart extends langium.AstNode {
847
+ readonly $container: BlockLine | BodyLine | ListItemBody | OneLinerBody;
848
+ readonly $type: 'BracketReference' | 'MarkdownLink' | 'RichTextPart' | 'WikiLink';
849
+ inlineCode?: string;
850
+ lparen?: '(';
851
+ rparen?: ')';
852
+ text?: PlainText;
853
+ }
854
+
855
+ export const RichTextPart = {
856
+ $type: 'RichTextPart',
857
+ inlineCode: 'inlineCode',
858
+ lparen: 'lparen',
859
+ rparen: 'rparen',
860
+ text: 'text'
861
+ } as const;
862
+
863
+ export function isRichTextPart(item: unknown): item is RichTextPart {
864
+ return reflection.isInstance(item, RichTextPart.$type);
865
+ }
866
+
867
+ export interface ScalarValue extends langium.AstNode {
868
+ readonly $container: Attribute;
869
+ readonly $type: 'ScalarValue';
870
+ parts: Array<InlineTextPart | NonBangInlineTextPart>;
871
+ }
872
+
873
+ export const ScalarValue = {
874
+ $type: 'ScalarValue',
875
+ parts: 'parts'
876
+ } as const;
877
+
878
+ export function isScalarValue(item: unknown): item is ScalarValue {
879
+ return reflection.isInstance(item, ScalarValue.$type);
880
+ }
881
+
882
+ export type TopLevelElement = Idea | IdeaSet | OneLinerIdea;
883
+
884
+ export const TopLevelElement = {
885
+ $type: 'TopLevelElement'
886
+ } as const;
887
+
888
+ export function isTopLevelElement(item: unknown): item is TopLevelElement {
889
+ return reflection.isInstance(item, TopLevelElement.$type);
890
+ }
891
+
892
+ export interface WikiLink extends InlineTextPart, NonBangInlineTextPart, RichTextPart {
893
+ readonly $container: ListItemBody | OneLinerBody;
894
+ readonly $type: 'WikiLink';
895
+ alias: Array<AliasPart>;
896
+ target: ReferenceTarget;
897
+ }
898
+
899
+ export const WikiLink = {
900
+ $type: 'WikiLink',
901
+ alias: 'alias',
902
+ inlineCode: 'inlineCode',
903
+ lparen: 'lparen',
904
+ rparen: 'rparen',
905
+ target: 'target',
906
+ text: 'text'
907
+ } as const;
908
+
909
+ export function isWikiLink(item: unknown): item is WikiLink {
910
+ return reflection.isInstance(item, WikiLink.$type);
911
+ }
912
+
913
+ export class ReqlanAstReflection extends langium.AbstractAstReflection {
914
+ override readonly types = {
915
+ AliasPart: {
916
+ name: AliasPart.$type,
917
+ properties: {
918
+ text: {
919
+ name: AliasPart.text
920
+ }
921
+ },
922
+ superTypes: []
923
+ },
924
+ AnonymousBlock: {
925
+ name: AnonymousBlock.$type,
926
+ properties: {
927
+ elements: {
928
+ name: AnonymousBlock.elements,
929
+ defaultValue: [],
930
+ optional: true
931
+ }
932
+ },
933
+ superTypes: [ListItem.$type]
934
+ },
935
+ Attribute: {
936
+ name: Attribute.$type,
937
+ properties: {
938
+ name: {
939
+ name: Attribute.name
940
+ },
941
+ negated: {
942
+ name: Attribute.negated,
943
+ defaultValue: false,
944
+ optional: true
945
+ },
946
+ value: {
947
+ name: Attribute.value,
948
+ optional: true
949
+ }
950
+ },
951
+ superTypes: [BlockElement.$type, BodyElement.$type]
952
+ },
953
+ AttributeValue: {
954
+ name: AttributeValue.$type,
955
+ properties: {
956
+ },
957
+ superTypes: []
958
+ },
959
+ BlockElement: {
960
+ name: BlockElement.$type,
961
+ properties: {
962
+ },
963
+ superTypes: []
964
+ },
965
+ BlockLine: {
966
+ name: BlockLine.$type,
967
+ properties: {
968
+ parts: {
969
+ name: BlockLine.parts,
970
+ defaultValue: []
971
+ }
972
+ },
973
+ superTypes: [BlockElement.$type]
974
+ },
975
+ BlockValue: {
976
+ name: BlockValue.$type,
977
+ properties: {
978
+ elements: {
979
+ name: BlockValue.elements,
980
+ defaultValue: [],
981
+ optional: true
982
+ }
983
+ },
984
+ superTypes: [AttributeValue.$type]
985
+ },
986
+ BodyElement: {
987
+ name: BodyElement.$type,
988
+ properties: {
989
+ },
990
+ superTypes: []
991
+ },
992
+ BodyLine: {
993
+ name: BodyLine.$type,
994
+ properties: {
995
+ parts: {
996
+ name: BodyLine.parts,
997
+ defaultValue: []
998
+ }
999
+ },
1000
+ superTypes: [BodyElement.$type]
1001
+ },
1002
+ BracketReference: {
1003
+ name: BracketReference.$type,
1004
+ properties: {
1005
+ inlineCode: {
1006
+ name: BracketReference.inlineCode,
1007
+ optional: true
1008
+ },
1009
+ lparen: {
1010
+ name: BracketReference.lparen,
1011
+ optional: true
1012
+ },
1013
+ rparen: {
1014
+ name: BracketReference.rparen,
1015
+ optional: true
1016
+ },
1017
+ target: {
1018
+ name: BracketReference.target
1019
+ },
1020
+ text: {
1021
+ name: BracketReference.text,
1022
+ optional: true
1023
+ }
1024
+ },
1025
+ superTypes: [RichTextPart.$type, InlineTextPart.$type, NonBangInlineTextPart.$type]
1026
+ },
1027
+ CodeSnippet: {
1028
+ name: CodeSnippet.$type,
1029
+ properties: {
1030
+ raw: {
1031
+ name: CodeSnippet.raw
1032
+ }
1033
+ },
1034
+ superTypes: [BlockElement.$type, BodyElement.$type]
1035
+ },
1036
+ CommentModel: {
1037
+ name: CommentModel.$type,
1038
+ properties: {
1039
+ references: {
1040
+ name: CommentModel.references,
1041
+ defaultValue: [],
1042
+ optional: true
1043
+ }
1044
+ },
1045
+ superTypes: []
1046
+ },
1047
+ CommentReference: {
1048
+ name: CommentReference.$type,
1049
+ properties: {
1050
+ target: {
1051
+ name: CommentReference.target
1052
+ }
1053
+ },
1054
+ superTypes: []
1055
+ },
1056
+ CommentReferenceTarget: {
1057
+ name: CommentReferenceTarget.$type,
1058
+ properties: {
1059
+ },
1060
+ superTypes: []
1061
+ },
1062
+ FileReference: {
1063
+ name: FileReference.$type,
1064
+ properties: {
1065
+ file: {
1066
+ name: FileReference.file
1067
+ }
1068
+ },
1069
+ superTypes: [ReferenceTarget.$type]
1070
+ },
1071
+ FileSymbolReference: {
1072
+ name: FileSymbolReference.$type,
1073
+ properties: {
1074
+ file: {
1075
+ name: FileSymbolReference.file
1076
+ },
1077
+ symbols: {
1078
+ name: FileSymbolReference.symbols,
1079
+ defaultValue: []
1080
+ }
1081
+ },
1082
+ superTypes: [ReferenceTarget.$type]
1083
+ },
1084
+ FromImport: {
1085
+ name: FromImport.$type,
1086
+ properties: {
1087
+ path: {
1088
+ name: FromImport.path
1089
+ },
1090
+ specifiers: {
1091
+ name: FromImport.specifiers,
1092
+ defaultValue: []
1093
+ }
1094
+ },
1095
+ superTypes: [Import.$type]
1096
+ },
1097
+ FromImportSpecifier: {
1098
+ name: FromImportSpecifier.$type,
1099
+ properties: {
1100
+ alias: {
1101
+ name: FromImportSpecifier.alias,
1102
+ optional: true
1103
+ },
1104
+ idea: {
1105
+ name: FromImportSpecifier.idea,
1106
+ referenceType: IdeaDeclaration.$type
1107
+ }
1108
+ },
1109
+ superTypes: []
1110
+ },
1111
+ Idea: {
1112
+ name: Idea.$type,
1113
+ properties: {
1114
+ elements: {
1115
+ name: Idea.elements,
1116
+ defaultValue: [],
1117
+ optional: true
1118
+ },
1119
+ name: {
1120
+ name: Idea.name
1121
+ }
1122
+ },
1123
+ superTypes: [IdeaDeclaration.$type, TopLevelElement.$type]
1124
+ },
1125
+ IdeaDeclaration: {
1126
+ name: IdeaDeclaration.$type,
1127
+ properties: {
1128
+ },
1129
+ superTypes: []
1130
+ },
1131
+ IdeaSet: {
1132
+ name: IdeaSet.$type,
1133
+ properties: {
1134
+ members: {
1135
+ name: IdeaSet.members,
1136
+ defaultValue: [],
1137
+ referenceType: IdeaDeclaration.$type
1138
+ },
1139
+ name: {
1140
+ name: IdeaSet.name
1141
+ }
1142
+ },
1143
+ superTypes: [TopLevelElement.$type]
1144
+ },
1145
+ Import: {
1146
+ name: Import.$type,
1147
+ properties: {
1148
+ },
1149
+ superTypes: []
1150
+ },
1151
+ InlineTextPart: {
1152
+ name: InlineTextPart.$type,
1153
+ properties: {
1154
+ inlineCode: {
1155
+ name: InlineTextPart.inlineCode,
1156
+ optional: true
1157
+ },
1158
+ text: {
1159
+ name: InlineTextPart.text,
1160
+ optional: true
1161
+ }
1162
+ },
1163
+ superTypes: []
1164
+ },
1165
+ ListItem: {
1166
+ name: ListItem.$type,
1167
+ properties: {
1168
+ },
1169
+ superTypes: []
1170
+ },
1171
+ ListItemBody: {
1172
+ name: ListItemBody.$type,
1173
+ properties: {
1174
+ content: {
1175
+ name: ListItemBody.content,
1176
+ defaultValue: []
1177
+ }
1178
+ },
1179
+ superTypes: []
1180
+ },
1181
+ ListValue: {
1182
+ name: ListValue.$type,
1183
+ properties: {
1184
+ items: {
1185
+ name: ListValue.items,
1186
+ defaultValue: []
1187
+ }
1188
+ },
1189
+ superTypes: [AttributeValue.$type]
1190
+ },
1191
+ LocalCommentReference: {
1192
+ name: LocalCommentReference.$type,
1193
+ properties: {
1194
+ idea: {
1195
+ name: LocalCommentReference.idea
1196
+ }
1197
+ },
1198
+ superTypes: [CommentReferenceTarget.$type]
1199
+ },
1200
+ LocalReference: {
1201
+ name: LocalReference.$type,
1202
+ properties: {
1203
+ idea: {
1204
+ name: LocalReference.idea,
1205
+ referenceType: IdeaDeclaration.$type
1206
+ }
1207
+ },
1208
+ superTypes: [ReferenceTarget.$type]
1209
+ },
1210
+ MarkdownLink: {
1211
+ name: MarkdownLink.$type,
1212
+ properties: {
1213
+ inlineCode: {
1214
+ name: MarkdownLink.inlineCode,
1215
+ optional: true
1216
+ },
1217
+ lparen: {
1218
+ name: MarkdownLink.lparen,
1219
+ optional: true
1220
+ },
1221
+ raw: {
1222
+ name: MarkdownLink.raw
1223
+ },
1224
+ rparen: {
1225
+ name: MarkdownLink.rparen,
1226
+ optional: true
1227
+ },
1228
+ text: {
1229
+ name: MarkdownLink.text,
1230
+ optional: true
1231
+ }
1232
+ },
1233
+ superTypes: [InlineTextPart.$type, RichTextPart.$type, NonBangInlineTextPart.$type]
1234
+ },
1235
+ Model: {
1236
+ name: Model.$type,
1237
+ properties: {
1238
+ elements: {
1239
+ name: Model.elements,
1240
+ defaultValue: [],
1241
+ optional: true
1242
+ },
1243
+ imports: {
1244
+ name: Model.imports,
1245
+ defaultValue: [],
1246
+ optional: true
1247
+ }
1248
+ },
1249
+ superTypes: []
1250
+ },
1251
+ NamedBlockListItem: {
1252
+ name: NamedBlockListItem.$type,
1253
+ properties: {
1254
+ elements: {
1255
+ name: NamedBlockListItem.elements,
1256
+ defaultValue: [],
1257
+ optional: true
1258
+ },
1259
+ name: {
1260
+ name: NamedBlockListItem.name
1261
+ }
1262
+ },
1263
+ superTypes: [ListItem.$type]
1264
+ },
1265
+ NamedList: {
1266
+ name: NamedList.$type,
1267
+ properties: {
1268
+ items: {
1269
+ name: NamedList.items,
1270
+ defaultValue: []
1271
+ },
1272
+ label: {
1273
+ name: NamedList.label
1274
+ }
1275
+ },
1276
+ superTypes: [BlockElement.$type, BodyElement.$type]
1277
+ },
1278
+ NamespaceImport: {
1279
+ name: NamespaceImport.$type,
1280
+ properties: {
1281
+ alias: {
1282
+ name: NamespaceImport.alias,
1283
+ optional: true
1284
+ },
1285
+ path: {
1286
+ name: NamespaceImport.path
1287
+ }
1288
+ },
1289
+ superTypes: [Import.$type]
1290
+ },
1291
+ NestedList: {
1292
+ name: NestedList.$type,
1293
+ properties: {
1294
+ items: {
1295
+ name: NestedList.items,
1296
+ defaultValue: []
1297
+ }
1298
+ },
1299
+ superTypes: [BlockElement.$type, BodyElement.$type, ListItem.$type]
1300
+ },
1301
+ NonBangInlineTextPart: {
1302
+ name: NonBangInlineTextPart.$type,
1303
+ properties: {
1304
+ inlineCode: {
1305
+ name: NonBangInlineTextPart.inlineCode,
1306
+ optional: true
1307
+ },
1308
+ text: {
1309
+ name: NonBangInlineTextPart.text,
1310
+ optional: true
1311
+ }
1312
+ },
1313
+ superTypes: []
1314
+ },
1315
+ OneLinerBody: {
1316
+ name: OneLinerBody.$type,
1317
+ properties: {
1318
+ content: {
1319
+ name: OneLinerBody.content,
1320
+ defaultValue: []
1321
+ }
1322
+ },
1323
+ superTypes: []
1324
+ },
1325
+ OneLinerIdea: {
1326
+ name: OneLinerIdea.$type,
1327
+ properties: {
1328
+ body: {
1329
+ name: OneLinerIdea.body,
1330
+ optional: true
1331
+ },
1332
+ name: {
1333
+ name: OneLinerIdea.name
1334
+ }
1335
+ },
1336
+ superTypes: [IdeaDeclaration.$type, TopLevelElement.$type]
1337
+ },
1338
+ OneLinerListItem: {
1339
+ name: OneLinerListItem.$type,
1340
+ properties: {
1341
+ body: {
1342
+ name: OneLinerListItem.body
1343
+ }
1344
+ },
1345
+ superTypes: [ListItem.$type]
1346
+ },
1347
+ QualifiedCommentReference: {
1348
+ name: QualifiedCommentReference.$type,
1349
+ properties: {
1350
+ idea: {
1351
+ name: QualifiedCommentReference.idea
1352
+ },
1353
+ path: {
1354
+ name: QualifiedCommentReference.path
1355
+ }
1356
+ },
1357
+ superTypes: [CommentReferenceTarget.$type]
1358
+ },
1359
+ QualifiedImport: {
1360
+ name: QualifiedImport.$type,
1361
+ properties: {
1362
+ alias: {
1363
+ name: QualifiedImport.alias,
1364
+ optional: true
1365
+ },
1366
+ idea: {
1367
+ name: QualifiedImport.idea,
1368
+ referenceType: IdeaDeclaration.$type
1369
+ },
1370
+ ideaset: {
1371
+ name: QualifiedImport.ideaset
1372
+ },
1373
+ path: {
1374
+ name: QualifiedImport.path
1375
+ }
1376
+ },
1377
+ superTypes: [Import.$type]
1378
+ },
1379
+ QualifiedReference: {
1380
+ name: QualifiedReference.$type,
1381
+ properties: {
1382
+ idea: {
1383
+ name: QualifiedReference.idea,
1384
+ referenceType: IdeaDeclaration.$type
1385
+ },
1386
+ ideaset: {
1387
+ name: QualifiedReference.ideaset,
1388
+ referenceType: IdeaSet.$type,
1389
+ optional: true
1390
+ },
1391
+ path: {
1392
+ name: QualifiedReference.path,
1393
+ referenceType: Import.$type,
1394
+ optional: true
1395
+ },
1396
+ qualifier: {
1397
+ name: QualifiedReference.qualifier,
1398
+ referenceType: Import.$type,
1399
+ optional: true
1400
+ }
1401
+ },
1402
+ superTypes: [ReferenceTarget.$type]
1403
+ },
1404
+ ReferenceTarget: {
1405
+ name: ReferenceTarget.$type,
1406
+ properties: {
1407
+ },
1408
+ superTypes: []
1409
+ },
1410
+ RichTextPart: {
1411
+ name: RichTextPart.$type,
1412
+ properties: {
1413
+ inlineCode: {
1414
+ name: RichTextPart.inlineCode,
1415
+ optional: true
1416
+ },
1417
+ lparen: {
1418
+ name: RichTextPart.lparen,
1419
+ optional: true
1420
+ },
1421
+ rparen: {
1422
+ name: RichTextPart.rparen,
1423
+ optional: true
1424
+ },
1425
+ text: {
1426
+ name: RichTextPart.text,
1427
+ optional: true
1428
+ }
1429
+ },
1430
+ superTypes: []
1431
+ },
1432
+ ScalarValue: {
1433
+ name: ScalarValue.$type,
1434
+ properties: {
1435
+ parts: {
1436
+ name: ScalarValue.parts,
1437
+ defaultValue: []
1438
+ }
1439
+ },
1440
+ superTypes: [AttributeValue.$type]
1441
+ },
1442
+ TopLevelElement: {
1443
+ name: TopLevelElement.$type,
1444
+ properties: {
1445
+ },
1446
+ superTypes: []
1447
+ },
1448
+ WikiLink: {
1449
+ name: WikiLink.$type,
1450
+ properties: {
1451
+ alias: {
1452
+ name: WikiLink.alias,
1453
+ defaultValue: [],
1454
+ optional: true
1455
+ },
1456
+ inlineCode: {
1457
+ name: WikiLink.inlineCode,
1458
+ optional: true
1459
+ },
1460
+ lparen: {
1461
+ name: WikiLink.lparen,
1462
+ optional: true
1463
+ },
1464
+ rparen: {
1465
+ name: WikiLink.rparen,
1466
+ optional: true
1467
+ },
1468
+ target: {
1469
+ name: WikiLink.target
1470
+ },
1471
+ text: {
1472
+ name: WikiLink.text,
1473
+ optional: true
1474
+ }
1475
+ },
1476
+ superTypes: [InlineTextPart.$type, NonBangInlineTextPart.$type, RichTextPart.$type]
1477
+ }
1478
+ } as const satisfies langium.AstMetaData
1479
+ }
1480
+
1481
+ export const reflection = new ReqlanAstReflection();