Mark for Visual Studio Code
Language support for Mark — a fast, extensible Markdown publishing tool.
Features
- Syntax highlighting for Mark-specific extensions: container/leaf/text directives, executable code blocks, math, front matter
- Language Server Protocol integration: diagnostics, completions, hover, go-to-definition, document symbols
- Live preview via the built-in dev server with hot module replacement
- Snippets for common Mark constructs (figures, citations, cross-references, admonitions, executable code blocks)
- Status bar showing LSP connection state and dev server URL
Requirements
- The
mark binary must be installed and available on your PATH
- A Mark project (directory containing
mark.config.yaml)
Installation (from source)
cd editor/vscode
npm install
npm run build
Then press F5 in VSCode to launch the Extension Development Host, or package with vsce package.
Configuration
| Setting |
Default |
Description |
mark.lspPath |
"mark" |
Path to the Mark binary (or mark-lsp standalone) |
mark.lspArgs |
["lsp"] |
Arguments to start the LSP server |
mark.devServer.enabled |
true |
Auto-start dev server on project open |
mark.devServer.port |
4321 |
Port for the dev server |
Commands
| Command |
Description |
Mark: Open Preview |
Open a side-by-side preview panel connected to the dev server |
Mark: Build Project |
Run mark build in the integrated terminal |
Mark: Restart Language Server |
Stop and restart the Mark LSP server |
Activation
The extension activates only when the workspace contains a mark.config.yaml file. It will not interfere with .md files in non-Mark projects.
| |