Markus Rudolph
Markus Rudolph
My proposal was to make rule and fragment calls distinguishable. > I wouldn't change the syntax because a parser rule can be without assignment as well (unassigned rule call, see...
We could collect all type and property information in a graph TOGETHER WITH the AST nodes which are contributing to that type or property. Types and properties could be nodes...
### The setup I have an example grammar: ``` grammar HelloWorld entry Rule: {infer SubRule}name=ID|age=NUM; hidden terminal WS: /\s+/; terminal NUM: /[0-9]+/; terminal ID: /[_a-zA-Z][\w_]*/; ``` Which generates the following...
At some places we have tests where the entire case is encapsulated in a function and the test case is written as `await findXYZ({param1: 123, ...})` . Examples: [Hover tests](https://github.com/langium/langium/blob/main/packages/langium/test/lsp/hover.test.ts)...
1. Create file `docker-compose.yml`: ```yaml version: "2" services: spacyapi: image: jgontrum/spacyapi:en_v2 ports: - "127.0.0.1:8080:80" restart: always ``` 2. Execute `docker-compose up` 3. Visit `GET /en/schema` Result: ``` { "title": "Schema...
Langium misses some information when using declared types together with rule fragments. When the fragment is providing properties, there should be some hint, that the interface is not complete and...
In detail by Martin Fowler: https://martinfowler.com/articles/feature-toggles.html # Example Sometimes development of a features takes very long and you do not want to branch out from the main branch for so...
Langium version: 2.0.1 ## Steps To Reproduce I tried to create a new grammar, copy-pasting from an ANTLR grammar. I was about to assign property names. The first rule in...
If Langium would support the export to [EBNF](https://en.wikipedia.org/wiki/Extended_Backus–Naur_form), we would be able to use other tools as well. One of these tools would be [ISLa](https://github.com/rindPHI/isla) - a tool for generating...
When you are in the grammar and want to know how the type looks like in the `ast.ts` file, we could use `Go to implementation` of the LSP. Especially when...