use crate::diagnostics::span::Span; pub mod span; pub mod emitters; #[derive(Debug, Clone, PartialEq, Eq)] pub struct Diagnostic { pub diag_type: DiagnosticType, pub spans: Vec, pub message: String, } #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum DiagnosticType { Error, Warning, Help, SecondaryError } #[derive(Debug, Clone, PartialEq, Eq)] pub struct SpanWithLabel { pub span: Span, pub span_type: DiagnosticType, pub label: Option, }