1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mod decode;
mod encode;

use crate::script::ScriptExpression;

#[derive(Debug)]
pub struct Def {
    pub body: Vec<DefItem>,
}

#[derive(Debug)]
pub enum DefItem {
    Between(String),
    Definition(Definition),
}

#[derive(Debug)]
pub struct Definition {
    pub is_template: bool,
    pub group: String,
    pub name: String,
    pub specializes: Option<String>,
    pub body: Vec<ScriptExpression>,
}