- Added templates of unit test stubs based on Vitest covering parsing, linking, and validation (#1298)
- Added a bundle configuration using
esbuild
(#1125). - Configured the project as an ESM project to adapt to the changes in Langium (#1125).
- Refactored the generator to enable multiple "environments". Devs will be asked whether they want a given environment in their project setup:
- VSCode extension
- Monaco web setup
- CLI application setup
- Users that have vscode installed in the environment will be asked whether they want to open the generated project in vscode (#911).
- Validation checks are registered in a plain function instead of a registry subclass (#821).
This release updates the generated dependencies to Langium version 0.5.0
.
This release updates the generated dependencies to Langium version 0.4.0
.
- The generated project is adapted to the new structure supporting multiple languages (#311). This mainly affects the configuration format of the
langium
CLI and the separation of shared services and language-specific services. - The generator now prints descriptions of the requested values (#373).
- Added an
attach
launch config for debugging the language server (#380).
- Fixed an outdated TypeScript reference in
src/cli/generator.ts
that led to a compile error. - Added
langium:watch
script to run the Langium CLI automatically when the grammar declaration is changed. - Updated
langium-quickstart.md
with information about the CLI.
The generated package now includes a Node.js CLI that can be adapted to generate code from your language (#175). The executable entry point is in the bin
subfolder.
The initial generator example is based on the "Hello World" grammar; it generates JavaScript code that prints greetings to the console.
By setting the environment variable DEBUG_BREAK
to a non-empty value, the language server is started with the --inspect-brk
option of Node.js during debugging (#227). When active, the language server execution is halted at the start of the entry point (main.ts
), enabling to debug the initialization phase.