Skip to content

Robot-Inventor/regex-syntax

Repository files navigation

regex-syntax

Grammar files for syntax highlight of regex. The grammar files are automatically generated from Linguist's regex grammars.

Note

You may also be interested in shell-session-syntax for syntax highlight of shell sessions.

Before After
before after

Usage

To use regex-syntax in Shiki.js, please download ./syntaxes/regex.tmLanguage.json or install the package and load it as a custom language grammar. Language name is regex and regexp.

npm install @robot-inventor/regex-syntax
import { getHighlighter } from "shiki";
// Directly import the downloaded file.
import regex from "./regex.tmLanguage.json";
// Or import the package.
import regex from "@robot-inventor/regex-syntax";

const code = `
^[a-zA-Z0-9.!#$%&'*+/=?^_\`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
`.trim();

const highlighter = await getHighlighter({
    langs: [regex],
    themes: ["vitesse-dark"]
});

const html = highlighter.codeToHtml(code, {
    lang: "regex",
    theme: "vitesse-dark"
});

console.log(html);

Update Grammar

To update the grammar file, run the following command. It automatically downloads the latest upstream grammar files and applies patches.

npm run build

Grammar Sources

regex-syntax is generated by automatically applying patches to the following grammar file.