panache-lint(1)

πŸ“¦
version 3.16.0 Β· 2 versions
, in nixpkgs unstable

hii bestie, welcome to panache-lint(1) from the General Commands Manual πŸ’– β€” this is the page for the linter that checks your Quarto or other Markdown docs. Think of it as the vibe check for correctness and best practices, not style (that's the formatter's job, bestie).

πŸŽ€ NAME πŸŽ€

panache-lint β€” Lint a Quarto or other Markdown document. That's literally it, and it's iconic.

✨ SYNOPSIS ✨

panache lint [--select] [--extend-select] [--ignore] [--fix]
[--unsafe-fixes] [--message-format] [--force-exclude] [--check]
[-h|--help] [-V|--version] [FILES]

πŸ¦‹ DESCRIPTION πŸ¦‹

Lint a document to check for correctness issues and best practice violations. Unlike the formatter, which handles style, the linter catches semantic problems like syntax errors, heading hierarchy issues, and broken references. No cap β€” it's looking for the stuff that actually breaks or confuses your doc.

πŸ’… OPTIONS πŸ’…

  • --select <SELECT> β€” Rule names to enable instead of the configured defaults. You're swapping in your picks, bestie.
  • --extend-select <EXTEND_SELECT> β€” Additional rule names to enable alongside the configured selection. Like adding extra toppings but for lint rules.
  • --ignore <IGNORE> β€” Rule names to disable, replacing configured ignores. This is the "not today, rule" list.
  • --fix β€” Automatically fix violations where possible. Slay, less manual cleanup.
  • --unsafe-fixes β€” Apply auto-fixes marked unsafe in addition to safe ones.

A fix is unsafe when applying it may change the document's meaning rather than merely tidy its syntax (for example, the empty-values rule's fix deletes the empty key). Unsafe fixes are skipped by a bare --fix; this flag opts into them. Requires --fix.

⚠️ This is the "yes, I really mean it" flag. It only works with --fix, and it can change meaning, not just syntax. 🫢
  • --message-format <MESSAGE_FORMAT> [default: human] β€” Diagnostic rendering format.

Possible values:

  • human
  • short
  • --force-exclude β€” Apply exclude patterns from your configuration even to files passed explicitly on the command line.

By default, explicitly-named files bypass exclude patterns: the assumption is that if you asked for a specific file, you want it processed. With --force-exclude, those patterns are honored regardless.

This is primarily intended for pre-commit hooks (and similar tooling), which pass changed files explicitly but should still respect the project's exclude configuration.

  • --check β€” Deprecated and now a no-op. panache lint exits with code 1 whenever any violations are found, so this flag is no longer needed. It is still accepted for backward compatibility but will be removed in a future release. Use --fix to apply auto-fixes instead of reporting.
  • -h, --help β€” Print help (see a summary with '-h'). The tiny version, iykyk.
  • -V, --version β€” Print version. Gotta know which queen you're running.
  • [FILES] β€” Path(s) to the input file(s) or directories to check. If not provided, or if the single argument - is given, reads from stdin (with no arguments at an interactive terminal this is a usage error instead, since there is nothing to read). Supports .qmd, .md, .Rmd/.Rmarkdown, and other Markdown-based formats. Supports glob patterns (e.g., *.md) and directories (e.g., . or docs/). Directories are traversed recursively, respecting .gitignore files. - cannot be combined with other paths.

🌈 EXTRA 🌈

Configure rules in panache.toml with [lint] section. That's your little config home base for rule choices. 🫢

⭐ VERSION ⭐

v3.16.0 β€” slay, that's the version.

πŸ”₯ SEE ALSO πŸ”₯

Go say hi to the rest of the panache family:


okay bestie, that's the whole manual page β€” signing off with the footer tea β˜•: source/version is lint 3.16.0 for panache-lint(1), and the date slot is literally not listed in this footer, so I'm not inventing one. periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from