Langium CLI
This package provides a command line interface for Langium.
Usage: langium [options] [command]
Options:
-V
, --version
— output the version number-h
, --help
— display help for command
Commands:
generate [options]
— generate code for a Langium grammarhelp [command]
— display help for command
Generating Language Infrastructure
The main purpose of this tool is to generate the infrastructure for a language from its grammar declaration file. This command requires a configuration file langium-config.json
.
Usage: langium generate [options]
Options:
-f
, --file <file>
— the configuration file or package.json setting up the generator-w
, --watch
— enables watch mode-h
, --help
— display help for command
Configuration
The configuration for the generate
command is written into a file named langium-config.json
. Alternatively, it can be embedded in the package.json
using a property langium
.
Schema:
{
projectName: string
languages: {
id: string
grammar: string
fileExtensions: string[]
caseInsensitive: boolean
textMate: {
out: string
}
monarch: {
out: string
}
prism: {
out: string
}
railroad: {
out: string
}
chevrotainParserConfig: IParserConfig
}[]
out: string
importExtension: string
chevrotainParserConfig: IParserConfig
}
Example:
{
"projectName": "DomainModel",
"languages": [{
"id": "domain-model",
"grammar": "src/language-server/domain-model.langium",
"fileExtensions": [".dmodel"],
"textMate": {
"out": "syntaxes/domain-model.tmLanguage.json"
},
"railroad": {
"out": "docs/syntax-diagram.html"
}
}],
"out": "src/language-server/generated",
"chevrotainParserConfig": {
"recoveryEnabled": true,
"nodeLocationTracking": "full",
"maxLookahead": 3
}
}