langium
A language engineering tool for the Language Server Protocol
Last updated 2 months ago by GitHub Actions .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install langium 
SYNC missed versions from official npm registry.

Langium

Langium is a language engineering tool with built-in support for the Language Server Protocol. It has a simple and direct integration with the VS Code extension API.

More information: ???? https://langium.org

Getting Started

Langium offers a Yeoman generator to create a new language extension for VS Code. The only prerequisite for the following terminal commands is NodeJS version 16 or higher.

  1. Install Yeoman and the Langium extension generator.
npm install -g yo generator-langium
  1. Run the generator and answer a few questions.
yo langium
  1. Open the new folder in VS Code (replace hello-world with the extension name you chose).
code hello-world
  1. Press F5 to launch the extension in a new Extension Development Host window.

  2. Open a folder, create a file with your chosen file name extension (.hello is 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.

Examples

The source repository of Langium includes examples that demonstrate different use cases.

Current Tags

  • 4.2.1                                ...           latest (2 months ago)
  • 3.5.0-next.91328d6                                ...           next (9 months ago)

70 Versions

  • 4.2.1                                ...           2 months ago
  • 4.2.0                                ...           2 months ago
  • 4.1.3                                ...           4 months ago
  • 4.1.2                                ...           5 months ago
  • 4.1.1                                ...           5 months ago
  • 4.1.0                                ...           7 months ago
  • 4.0.3                                ...           7 months ago
  • 4.0.2                                ...           7 months ago
  • 4.0.1                                ...           7 months ago
  • 4.0.0                                ...           8 months ago
  • 3.5.0-next.91328d6                                ...           9 months ago
  • 3.5.0-next.936a9d7                                ...           9 months ago
  • 3.5.0                                ...           a year ago
  • 3.4.0-next.89c0a9d                                ...           a year ago
  • 3.4.0-next.10c0eb7                                ...           a year ago
  • 3.4.0                                ...           a year ago
  • 3.3.1                                ...           a year ago
  • 3.4.0-next.325db9f                                ...           a year ago
  • 3.4.0-next.325db9e                                ...           a year ago
  • 3.4.0-next.1409e5d                                ...           a year ago
  • 3.3.0                                ...           a year ago
  • 3.2.1                                ...           a year ago
  • 3.2.0                                ...           2 years ago
  • 3.2.0-next.5063a2b                                ...           2 years ago
  • 3.1.3                                ...           2 years ago
  • 3.1.2                                ...           2 years ago
  • 3.2.0-next.bb9f2d3                                ...           2 years ago
  • 3.2.0-next.9134e27                                ...           2 years ago
  • 3.2.0-next.2191297                                ...           2 years ago
  • 3.1.1                                ...           2 years ago
  • 3.1.0                                ...           2 years ago
  • 3.1.0-next.4bbc180                                ...           2 years ago
  • 3.1.0-next.cbc5db3                                ...           2 years ago
  • 3.1.0-next.c8e01a2                                ...           2 years ago
  • 3.0.0                                ...           2 years ago
  • 3.0.0-next.cc1a49c                                ...           2 years ago
  • 3.0.0-next.e78aeba                                ...           2 years ago
  • 3.0.0-next.79e4301                                ...           2 years ago
  • 2.1.3                                ...           2 years ago
  • 2.1.2                                ...           2 years ago
  • 2.1.1                                ...           2 years ago
  • 2.1.0                                ...           2 years ago
  • 2.0.2                                ...           3 years ago
  • 1.3.1                                ...           3 years ago
  • 2.0.1                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.3.0                                ...           3 years ago
  • 2.0.0-next.a57102f                                ...           3 years ago
  • 2.0.0-next.239179f                                ...           3 years ago
  • 1.2.1                                ...           3 years ago
  • 1.2.0                                ...           3 years ago
  • 1.1.0                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           3 years ago
  • 0.6.0-next.62c127c                                ...           3 years ago
  • 0.5.0                                ...           4 years ago
  • 0.5.0-next.52ab085                                ...           4 years ago
  • 0.5.0-next.f150dbd                                ...           4 years ago
  • 0.5.0-next.f2b3802                                ...           4 years ago
  • 0.4.0                                ...           4 years ago
  • 0.3.0                                ...           4 years ago
  • 0.3.0-next.ee4fc4e                                ...           4 years ago
  • 0.3.0-next.5e9d27d                                ...           4 years ago
  • 0.2.0                                ...           4 years ago
  • 0.2.0-next.1f60202                                ...           4 years ago
  • 0.1.0                                ...           5 years ago
  • 0.1.0-next.b687a8a                                ...           5 years ago
  • 0.1.0-next.6f45aec                                ...           5 years ago
  • 0.1.0-next.0e84185                                ...           5 years ago
  • 0.1.0-next.00ebfd9                                ...           5 years ago
Downloads
Today 0
This Week 1
This Month 4
Last Day 1
Last Week 36
Last Month 35
Dev Dependencies (2)

Copyright 2013 - present © cnpmjs.org | Home |