@boundaryml/baml-grammar
v0.1.0
Published
TextMate grammar for the BAML language, with a ready-to-use Shiki LanguageRegistration export.
Readme
BAML TextMate grammar
The TextMate grammar for BAML (scopeName: source.baml), published as @boundaryml/baml-grammar.
This repository is a read-only mirror, generated from typescript2/pkg-grammar in the BAML monorepo. Do not edit it by hand; changes land here automatically when the grammar changes upstream. It is also the source GitHub Linguist vendors for .baml highlighting on github.com.
Install
npm install @boundaryml/baml-grammarShiki
The default export is a ready-to-use LanguageRegistration:
import { createHighlighter } from "shiki";
import baml from "@boundaryml/baml-grammar";
const highlighter = await createHighlighter({
themes: ["github-dark"],
langs: [baml],
});
highlighter.codeToHtml(code, { lang: "baml", theme: "github-dark" });The grammar is self-contained (it embeds no other language scopes), so no additional grammars need to be loaded.
VS Code / vscode-textmate / Monaco (monaco-textmate)
Use the raw grammar JSON, plus the editor configuration (brackets, comments, auto-closing pairs):
import grammar from "@boundaryml/baml-grammar/baml.tmLanguage.json" with { type: "json" };
import languageConfiguration from "@boundaryml/baml-grammar/language-configuration.json" with { type: "json" };If your bundler cannot handle JSON import attributes (Metro/React Native, some Vite configs), use the default export instead: it is the same grammar inlined in a plain JS module.
import grammar from "@boundaryml/baml-grammar";Files
| Path | Contents |
| --- | --- |
| dist/index.js | ESM module, default-exports the grammar (Shiki LanguageRegistration) |
| grammars/baml.tmLanguage.json | Raw TextMate grammar |
| language-configuration.json | VS Code style language configuration |
License
Apache-2.0
