use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Clone, Debug)]
#[repr(u8)]
pub enum DiagnosticSeverity {
ERROR = 1u8,
WARNING = 2u8,
INFORMATION = 3u8,
HINT = 4u8,
}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct DiagnosticPosition {
pub line: u32,
pub col: u32,
}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct DiagnosticSpan {
pub start: DiagnosticPosition,
pub end: DiagnosticPosition,
}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct Diagnostic {
pub severity: u8,
pub span: DiagnosticSpan,
pub message: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default)]
pub struct DiagnosticResponse {
pub diagnostics: Vec<Diagnostic>,
}