1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#[derive(Serialize, Deserialize, Clone, Debug)] pub struct Element { #[serde(alias = "line")] pub line_num: i32, #[serde(alias = "start")] pub start_index: i32, #[serde(alias = "end")] pub end_index: i32, pub value: String, pub scopes: Vec<ElementScope>, } impl Element { pub fn new(line_num: i32, start_index: i32, end_index: i32, value: String) -> Element { Element { line_num, start_index, end_index, value, scopes: vec![], } } } #[derive(Serialize, Deserialize, Clone, Debug)] pub struct ElementScope { pub name: String, pub index: i32, }