Crate quickmark_core

Crate quickmark_core 

Source
Expand description

§QuickMark Linter Core

§Single-Use Architecture Contract

IMPORTANT: All linter components in this crate follow a strict single-use contract:

  • Context: One context instance per document analysis
  • MultiRuleLinter: One linter instance per document analysis
  • RuleLinter: Individual rule linters are used once and discarded

This design eliminates state management complexity.

§Usage Pattern

use quickmark_core::linter::MultiRuleLinter;
use quickmark_core::config::QuickmarkConfig;
use std::path::PathBuf;

// Example usage (variables would be provided by your application)

// Correct: Fresh instances for each document
let mut linter = MultiRuleLinter::new_for_document(path, config, source);
let violations = linter.analyze();
// linter is now invalid - create new one for next document

Modules§

config
linter
rules
tree_sitter_walker