Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
msujew committed Jun 15, 2023
1 parent bfc86fb commit 6cbe583
Showing 1 changed file with 3 additions and 14 deletions.
17 changes: 3 additions & 14 deletions packages/langium-railroad/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
# Integration of Langium and Sprotty
# Langium Railroad Diagrams

This package provides glue code for [Langium](https://langium.org) and [Sprotty](https://www.npmjs.com/package/sprotty). It includes the following features:
This package provides the ability to build railroad syntax diagrams for [Langium](https://langium.org) grammars.

* Generate diagram models from a Langium AST
* Listen to document changes and update existing diagram models automatically
* Hook into the JSON-RPC channel used by the language server

The counterpart of this integration is the [sprotty-vscode](https://www.npmjs.com/package/sprotty-vscode) package, which provides Sprotty diagrams embedded in VS Code webviews and is able to connect with the JSON-RPC stream of a chosen language.

## How to Use This

1. Implement a diagram model generator by extending `LangiumDiagramGenerator`
2. Add `SprottyDiagramServices` to the dependency injection module of your language and bind the `diagram.DiagramGenerator` service
3. Add `DefaultSprottyModule` to the `inject` function that sets up your dependency injection container
4. Call the `addDiagramHandler` function in your main code to hook into the JSON-RPC stream
It is reused by the [langium-cli](https://www.npmjs.com/package/langium-cli) package and the [Langium VSCode extension](https://marketplace.visualstudio.com/items?itemName=langium.langium-vscode).

0 comments on commit 6cbe583

Please sign in to comment.