use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Position {
pub line: u32,
pub column: u32,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Range {
pub start: Position,
pub end: Position,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenInfo {
pub text: String,
pub range: Range,
pub scope: String,
pub modifiers: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenCollection {
pub uri: String,
pub language: String,
pub tokens: Vec<TokenInfo>,
}