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 MultiRuleLinter;
use QuickmarkConfig;
use PathBuf;
// Example usage (variables would be provided by your application)
# let path = new;
# let config: QuickmarkConfig = unimplemented!;
# let source = "";
// Correct: Fresh instances for each document
let mut linter = new_for_document;
let violations = linter.analyze;
// linter is now invalid - create new one for next document