1use crate::core::source::Span;
4
5use super::{ActionId, Event, ValueId};
6
7#[derive(Debug, Clone)]
9pub struct WorkshopVariable {
10 pub name: String,
11 pub index: u32,
13 pub span: Option<Span>,
14 pub name_span: Option<Span>,
16}
17
18#[derive(Debug, Clone)]
20pub struct WorkshopSubroutine {
21 pub name: String,
22 pub index: u32,
23 pub span: Option<Span>,
24 pub name_span: Option<Span>,
26}
27
28#[derive(Debug, Clone)]
30pub struct Rule {
31 pub name: String,
32 pub span: Option<Span>,
33 pub name_span: Option<Span>,
35 pub disabled: bool,
36 pub event: Event,
37 pub conditions: Vec<ValueId>,
38 pub actions: Vec<ActionId>,
39}