This extension adds Makrell family language support to VS Code.
Current scope:
- Makrell / MakrellPy / MakrellTS / Makrell#
- MRON
- MRML
- MRTD
Current features:
- Syntax highlighting
- Code snippets
- Start a Makrell REPL and send code to it
- Run the current MakrellPy, MakrellTS, or Makrell# file
- Basic MakrellPy, MakrellTS, Makrell#, and family-format diagnostics via packaged CLIs
- Optional Makrell language-server support for diagnostics, hover, go-to, completions, and related editor features
Editor asset source of truth:
- shared editor-facing assets now live under
shared/makrell-editor-assets/ - the extension copies its packaged grammar, snippet, and language
configuration files from there via
bun run sync:assets - this is intended to support future sharing with browser tooling rather than treating the VS Code extension as the only home for Makrell editor assets
Current file support:
.mr.mrx.mrpy.mrts.mrsh.mron.mrml.mrtd
Local development and packaging:
bun install
bun run compile
bun run package:vsix
This produces a local .vsix package for smoke-testing the extension before
marketplace publication.
For the full Bun-first release/publish procedure, see
PUBLISHING.md.

This extension no longer depends on the Python VS Code extension.
For editor basics such as highlighting, snippets, file associations, and REPL commands, nothing else is required.
Current editor workflow commands:
Makrell: Run Current FileMakrellPy: Check Current MakrellPy FileMakrellTS: Check Current MakrellTS FileMakrellTS: Emit JavaScript for Current MakrellTS FileMakrell#: Check Current Makrell# FileMakrell#: Build Current Makrell# FileMakrell#: Emit C# for Current Makrell# FileMakrell#: Run Built Assembly for Current Makrell# FileMakrell#: Show Meta Sources for Current Makrell# FileMakrell: Parse Current MRON FileMakrell: Parse Current MRML FileMakrell: Parse Current MRTD FileMakrell: Start Makrell REPLMakrell: Send Code to Makrell REPL
If you also want hover, go-to, completions, diagnostics, and related LSP-backed
editor features, make makrell-family-lsp available on your PATH or point
the extension at it via settings:
bunx makrell-family-lsp
Relevant settings:
makrell.server.enabledmakrell.server.commandmakrell.server.argsmakrell.server.cwdmakrell.python.diagnosticsEnabledmakrell.python.commandmakrell.run.pythonCommandmakrell.run.tsCommandmakrell.run.sharpCommandmakrell.ts.diagnosticsEnabledmakrell.ts.commandmakrell.sharp.diagnosticsEnabledmakrell.sharp.command
MakrellPy diagnostics currently come from the packaged makrell CLI:
makrell check path/to/file.mrpy --json
This MakrellPy path is for .mrpy files. .mr and .mrx stay available as
general Makrell/MBF-style files rather than being treated as MakrellPy
programs by default.
MakrellTS diagnostics currently come from the packaged makrellts CLI:
makrellts check path/to/file.mrts --json
Makrell# and family-format diagnostics currently come from the packaged makrellsharp CLI:
dotnet tool install --global MakrellSharp.Cli
That CLI currently provides:
makrellsharp check path/to/file.mrsh --json
makrellsharp check-mron path/to/file.mron --json
makrellsharp check-mrml path/to/file.mrml --json
makrellsharp check-mrtd path/to/file.mrtd --json
The long-term direction is now a TypeScript-based family language-server/tooling
stack, with makrell-family-lsp as the first concrete slice.
This extension is part of the Makrell monorepo: