Neocon Propaganda Machine

    langium-cli
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    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 grammar
    • help [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:

    {
        // Name of the language project
        projectName: string
        // Array of language configurations
        languages: {
            // The identifier of your language as used in vscode
            id: string
            // Path to the grammar file
            grammar: string
            // File extensions with leading `.`
            fileExtensions: string[]
            // Enable case-insensitive keywords parsing
            caseInsensitive: boolean
            // Enable generating a TextMate syntax highlighting file
            textMate: {
                // Output path to syntax highlighting file
                out: string
            }
            // Configure the chevrotain parser for a single language
            chevrotainParserConfig: IParserConfig
        }[]
        // Main output directory for TypeScript code
        out: string
        // Configure the chevrotain parser for all languages
        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"
            }
        }],
        "out": "src/language-server/generated",
        "chevrotainParserConfig": {
            "recoveryEnabled": true,
            "nodeLocationTracking": "full",
            "maxLookahead": 3
        }
    }

    Install

    npm i langium-cli

    Homepage

    langium.org

    DownloadsWeekly Downloads

    341

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    217 kB

    Total Files

    60

    Last publish

    Collaborators

    • spoenemann
    • sailingfox