Socket
Socket
Sign inDemoInstall

langium

Package Overview
Dependencies
Maintainers
4
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

langium

A language engineering tool for the Language Server Protocol


Version published
Weekly downloads
84K
decreased by-18.86%
Maintainers
4
Weekly downloads
 
Created
Source

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.

Keywords

FAQs

Package last updated on 06 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc