You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

lexloom

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lexloom

A cross-platform syntax highlighting meta-compiler.

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
21
-93.91%
Maintainers
1
Weekly downloads
 
Created
Source

LexLoom 🧵

License npm version Known Vulnerabilities Socket Badge

LexLoom is a cross-platform syntax highlighting meta-compiler. It abstracts the nightmare of writing complex, engine-specific grammar files (Oniguruma for VS Code, procedural regex for Vim, and XML for Notepad++) into a single, clean JSON file.

Define your language once. Generate native highlighters everywhere.

✨ Key Features

  • 🧠 Regex-Free Authoring: Define language constructs by intent (e.g., wordList, symbolList, stringMarker) rather than writing platform-specific regular expressions.
  • 🌍 Write Once, Highlight Anywhere: Instantly generate highlighters for VS Code (.tmLanguage.json), Vim (.vim), and Notepad++ (UDL .xml).
  • ⚡ VS Code Web Extension Scaffolding: Bootstrap a ready-to-use, publishable VS Code Web extension project directly from your grammar.
  • 🔋 Batteries-Included Presets: Built-in, highly optimized regex patterns for common needs like decimals, hex numbers, binary, and embedded language injection.

🚀 Quick Start

1. Installation

Install LexLoom globally via NPM to use the CLI anywhere:

npm install -g lexloom

(Alternatively, you can run it without installing by cloning this repo and using npx lexloom)

2. Write your Grammar (my-language.json)

LexLoom uses a standardized JSON format. Here is a taste of how easy it is to define keywords and operators:

{
  "metadata": {
    "name": "My Language",
    "scopeName": "source.mylang",
    "extensions": [".mylang"]
  },
  "rules": [
    {
      "ruleType": "wordList",
      "universalScope": "keyword.control",
      "words": ["if", "else", "function", "return"]
    },
    {
      "ruleType": "symbolList",
      "universalScope": "keyword.operator",
      "symbols": ["==", "!=", "+", "-", "&&"]
    }
  ]
}

3. Build the Highlighters

Run the CLI against your grammar file:

lexloom my-language.json --scaffold-vsc

Output:

out/
├── vscode/            # TextMate .tmLanguage.json
├── vim/               # Vim .vim syntax script
├── notepadpp/         # Notepad++ .xml UDL
└── vscode-extension/  # A complete, ready-to-publish VS Code Web extension!

🪄 Pro-Tip: Instant IDE Autocompletion

You don't need to guess the rule types or scopes. LexLoom comes with a built-in JSON Schema.

Add this single line to the very top of your JSON file in VS Code to get instant validation, hover documentation, and IntelliSense dropdowns for your grammar:

{
  "$schema": "https://raw.githubusercontent.com/thisisthedarshan/LexLoom/refs/heads/main/schema/lexloom.schema.json",
  "metadata": { ... }
}

📄 License

LexLoom is open-source software licensed under the Apache 2.0 License.

Note: The syntax files and VS Code extensions generated by the LexLoom CLI are the sole property of the user and are not bound by this license.

Keywords

syntax

FAQs

Package last updated on 08 Mar 2026

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