- Install Yeoman and the Langium extension generator.
npm install -g yo generator-langium
- Run the generator and answer a few questions.
- Open the new folder in VS Code (replace
hello-worldwith the extension name you chose).
Press F5 to launch the extension in a new Extension Development Host window.
Open a folder, create a file with your chosen file name extension (
.hellois the default), and see that validation and completion (ctrl+space) works:
Follow the instructions in
langium-quickstart.md (in your extension folder) and the documentation on the website to go further.
How Does it Work?
The core of Langium is a grammar declaration language in which you describe multiple aspects of your language:
- Tokens (keywords and terminal rules)
- Syntax (parser rules)
- Abstract syntax tree (AST)
Please follow the Langium documentation to learn how to use this language.
Langium features a command line interface (langium-cli) that reads a grammar declaration and generates TypeScript type declarations for the AST and more.
Integration with the Language Server Protocol (LSP) is done with vscode-languageserver. You have full access to the LSP API in Langium, so you can register additional message handlers or extend the protocol in a breeze.
The main code of Langium consists of a set of services that are connected via dependency injection (DI). You can override the default functionality and add your own service classes by specifying a DI module.
The source repository of Langium includes examples that demonstrate different use cases.