kabel/libkabel/src/diagnostics/mod.rs

24 lines
465 B
Rust

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<SpanWithLabel>
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DiagnosticType {
Error,
Warning,
Help
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SpanWithLabel {
pub span: Span,
pub span_type: DiagnosticType,
pub label: Option<String>,
}