Feat: add structured diagnostics with yansi colors

Introduces fluxc/src/diagnostics.rs with Level (Critical, Error,
Warning, Note), Label (Primary/Secondary with optional message), and
Diagnostic types. Diagnostic::render(src, filename) produces
rustc-style output: colored header, --> file:line:col pointer, source
line with gutter, and ^ / - underlines aligned to the offending span.

Replaces the flat ParseError struct in the parser; all five error
sites now emit Diagnostic values with source-pointing labels.
This commit is contained in:
2026-03-10 18:42:40 +01:00
parent a82b7e4633
commit 5bf4a494cb
7 changed files with 365 additions and 41 deletions

View File

@@ -5,3 +5,4 @@ edition = "2024"
[dependencies]
unicode-xid = "0.2"
yansi = "1"