Skip to main content

rbx_rsml/
types.rs

1use serde_json::Value;
2
3#[derive(Debug, Clone, Copy, PartialEq)]
4pub struct Position {
5    pub line: u32,
6    pub character: u32,
7}
8
9#[derive(Debug, Clone, Copy, PartialEq)]
10pub struct Range {
11    pub start: Position,
12    pub end: Position,
13}
14
15#[derive(Debug, Clone, Copy, PartialEq)]
16pub enum Severity {
17    Error,
18    Warning,
19}
20
21#[derive(Debug, Clone)]
22pub struct Diagnostic {
23    pub range: Range,
24    pub severity: Severity,
25    pub code: String,
26    pub message: String,
27    pub data: Option<Value>,
28}
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
31pub enum LanguageMode {
32    #[default]
33    Nonstrict,
34    Strict,
35}