panache(1)

NAME
panache - Panache: A language server, formatter, and linter for Pandoc, Quarto and R Markdown

SYNOPSIS
panache [--config] [--stdin-filename] [--flavor] [--color] [--no-color] [-q|--quiet] [-v|--verbose] [--isolated] [--no-cache] [--cache-dir] [-j|--jobs] [-h|--help] [-V|--version] <subcommands>

DESCRIPTION
Panache is a command-line formatter, linter, and language server (implementing the Language Server Protocol, LSP) for Quarto (.qmd), Pandoc, and Markdown files written in Rust. It understands Quarto/Pandoc-specific syntax that other formatters like Prettier and mdformat struggle with, including fenced divs, tables, and math formatting.

OPTIONS

-h, --help
    Print help (see a summary with '-h')

-V, --version
    Print version

GLOBAL OPTIONS

--config <CONFIG>
    Path to a custom configuration file. If not specified, Panache will search for .panache.toml or panache.toml in the current directory and its parents, then fall back to ~/.config/panache/config.toml.

--stdin-filename <PATH>
    Synthetic filename to associate with stdin input. This is useful for editor integrations that pipe content via stdin but still need Panache to infer flavor/extensions from file extension (for example: --stdin-filename doc.qmd).

--flavor <FLAVOR>
    Override the markdown flavor for this invocation. Takes the highest precedence: it overrides any value in panache.toml, the [flavor-overrides] glob table, and the flavor inferred from the file extension. Extension overrides from [extensions] in panache.toml still merge on top of the flavor's defaults. Useful when the file extension is unknown (e.g. a .txt file containing markdown) or when you want to force a one-off interpretation.
    Possible values:

    •   pandoc: Pandoc's Markdown (the extended dialect described in `man pandoc`)

    •   quarto: Quarto's Markdown (Pandoc-based, with Quarto-specific extensions and shortcodes)

    •   rmarkdown: R Markdown (Pandoc-based, with knitr/Rmd code chunks)

    •   gfm: GitHub Flavored Markdown

    •   commonmark: CommonMark (the strict, standardized base dialect)

    •   multimarkdown: MultiMarkdown (Fletcher Penney's extended Markdown dialect)

--color <WHEN> [default: auto]
    Control when colored output is used
    Possible values:

    •   auto

    •   always

    •   never

--no-color
    Disable colored output (equivalent to --color never)

-q, --quiet
    Suppress informational status messages on stdout (e.g. "Formatted X", "N file left unchanged", "All files are correctly formatted", "No issues found") as well as per-violation lint diagnostics. Errors are still written to stderr, and primary command output (such as formatted content when reading from stdin, JSON/Markdown reports, or the parsed CST) continues to print so that pipelines keep working. The process exit code still reflects whether issues were found in --check mode.

-v, --verbose
    Print additional informational output where supported. Currently used by `panache clean` to include a summary of cache size and file count alongside the "Removed cache directory" message. Conflicts with --quiet.

--isolated
    Ignore all discovered configuration files

--no-cache
    Disable all lint/format cache reads and writes for this run. Can also be enabled with PANACHE_NO_CACHE.

--cache-dir <CACHE_DIR>
    Path to the cache directory for this invocation. Overrides config `cache-dir`. Can also be set with PANACHE_CACHE_DIR.

-j, --jobs <N> [default: 0]
    Number of worker threads to use when formatting or linting multiple files. 0 (the default) selects an automatic level based on available CPU cores. 1 forces serial processing. Single-file invocations always run on one thread; the inner external-formatter pool (see external-max-parallel) is only used when this value is 1 or when only one file is being processed. Can also be set with PANACHE_JOBS.

SUBCOMMANDS

panache-format(1)
    Format a Quarto, Pandoc, or Markdown document

panache-parse(1)
    Parse and display the CST tree for debugging

panache-lsp(1)
    Start the Language Server Protocol server

panache-lint(1)
    Lint a Quarto, Pandoc, or Markdown document

panache-clean(1)
    Delete cache data

panache-debug(1)
    Debug utilities for parser/formatter diagnostics

panache-help(1)
    Print this message or the help of the given subcommand(s)

EXTRA
For help with a specific command, see: `panache help <command>`. Homepage and downloads (including .deb and .rpm packages): <https://panache.bz>

VERSION
v2.48.0

AUTHORS
Johan Larsson <johan@jolars.co>

SEE ALSO
panache-format(1), panache-parse(1), panache-lsp(1), panache-lint(1), panache-clean(1), panache-debug(1)