Linter โ
Problem โ
Style and correctness rules must run fast on every save with precise locations.
Why tree-sitter.zig helps โ
Rules compile once to queries; incremental parsing plus byte-range scoping keeps per-save work tiny.
API โ
Query, QueryCursor.setByteRange (limit to changed ranges), Node.range.
Architecture โ
text
Save โ incremental parse โ changed ranges โ run rules on dirty spans โ diagnostics