Announcing Panache: a language server, formatter, and linter for Quarto, Pandoc, and R Markdown

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/.

1 Like