I am happy to announce Panache, which is a language server, formatter, and linter for Quarto, Pandoc, and R Markdown. It aims to make your experience editing your markdown files and Quarto projects much more comfortable, by for instance providing
- diagnostics to indicate duplicate footnotes or missing citations,
- formatting on save/range formatting with automatic paragraph wrapping,
- go-to-definitions for citations, footnotes, and more,
- renaming of citation IDs,
- full Quarto project integration,
- metadata code block formatting and linting by invoking external tools like air, ruff, and jarl,
- and much more.
Panache is now available as a VS Code extension, which means that you can install it directly into Positron, which will automatically download the Panache binary and get you started quickly:
Integration into other editors such as Neovim is also effortless thanks to the built-in LSP plugin.
Panache integrates nicely into CI workflows for checking formatting, linting, and supports the pre-commit framework for reformatting your markdown files as you commit.
Panache is also fast by virtue of being written in Rust and formats 5000+ line files in around 10 milliseconds. Here is just one benchmark on a medium-sized document.
| Formatter | Time (ms) | Relative to Panache |
|---|---|---|
| panache | 5.8 | 1.0 |
| Prettier | 133.9 | 23.0 |
| Pandoc | 56.6 | 9.7 |
Please check out the repository at https://github.com/jolars/panache or read the full documentation at https://jolars.github.io/panache/.