Panache

Panache is a language server, formatter, and linter for Pandoc, Quarto, and R Markdown. It is designed to be fast, configurable, and fully support the rich syntax of Pandoc Markdown and Quarto, including features like fenced divs, grid tables, definition lists, inline footnotes, and more.

Installation

From crates.io

If you have Rust installed, the easiest way is likely to install from crates.io:

cargo install panache

Pre-built Binaries

Alternatively, you can install pre-built binary packages from the releases page for Linux, macOS, and Windows. For Linux, packages are available for generic distributions (tarballs) as well as Debian/Ubuntu (.deb) and Fedora/RHEL/openSUSE (.rpm).

Arch Linux

There is also an Arch Linux package available in the AUR: panache-bin.

yay -S panache-bin # or your preferred AUR helper

VS Code Extension

If you are running VS Code or an editor that supports VS Code extensions (like Positron), you can install the Panache extension from the VS Code Marketplace or the Open VSX extension, which will automatically also install the panache CLI and start the language server when editing supported files.

Usage

To get the most out of Panache, you should set up the language server in your editor to integrate diagnostics, formatting, code actions, and much more. See the LSP documentation for editor integration instructions.

But if you just want to quickly format or lint a document from the command line, you can do so with the panache CLI.

To format a document in place, run:

panache format document.qmd

To lint a document, run:

panache lint document.qmd

Both of these commands also support reading from standard input as well as globbing patterns for multiple files:

# Format all .qmd files in the current directory
panache format *.qmd

# Lint a directory
panache lint docs/

# Format from standard input and write to standard output
panache format <document.qmd

Learn More

To learn more about panache, check out the following documentation: