mod lint#

module lint#

Vale and Harper lint for the markdown corpus (CLI + in-process harper-core).

Functions

fn binary_available(name: &str) -> bool#

Check whether a binary is on PATH and responds successfully to --version or --help.

fn format_report(report: &LintReport) -> String#

Format a human-readable report to a string.

fn harper_binary_name() -> Option<&'static str>#

Resolve which binary name to use for Harper CLI (optional fallback).

fn harper_command_args(paths: &[PathBuf]) -> Vec<String>#

Construct Harper CLI args (best-effort across harper-cli naming).

fn harper_core_available() -> bool#

In-process harper-core is always linked in this build.

fn lint_paths(paths: &[PathBuf], engine: LintEngine) -> Result<LintReport>#

Lint the given paths with the selected engine(s). Missing optional tools produce explicit entries in report.missing and do not panic. Harper always uses in-process harper-core when the Harper engine is selected.

fn lint_text_harper_inprocess(text: &str) -> Vec<LintFinding>#

Lint a single text buffer with in-process harper-core (unit-testable pure path).

Spelling hits on domain vocabulary (Jira, Tantivy, …) are suppressed so CI can gate published responses without false positives on tooling jargon.

fn vale_command_args(paths: &[PathBuf]) -> Vec<String>#

Construct the Vale command line for the given paths (tested without running Vale).

Enums

enum LintEngine#

Which external (or in-process) lint engine to run.

All#

Run Vale (if present) and Harper (in-process, plus CLI if present).

Vale#

Run only Vale.

Harper#

Run Harper via in-process harper-core (and optional CLI if on PATH).

Structs and Unions

struct LintFinding#

One lint finding from any engine.

engine: String#
path: String#
message: String#
severity: String#
line: Option<u32>#
struct LintReport#

Aggregated report from one or more engines.

findings: Vec<LintFinding>#
ran: Vec<String>#

Engines that ran successfully.

missing: Vec<String>#

Engines that were requested but missing (explicit messages).

Implementations

impl LintReport#

Functions

fn is_clean(&self) -> bool#
fn summary_line(&self) -> String#