pub enum SettingsNode {
Workshop {
children: Vec<SettingsNode>,
span: Option<Span>,
},
Group {
name: String,
children: Vec<SettingsNode>,
span: Option<Span>,
},
Number {
name: String,
value: f64,
span: Option<Span>,
},
Bool {
name: String,
value: bool,
span: Option<Span>,
},
Flag {
name: String,
span: Option<Span>,
},
String {
name: String,
value: String,
span: Option<Span>,
},
List {
name: String,
elements: Vec<SettingsListElement>,
span: Option<Span>,
},
Raw {
name: String,
value: String,
span: Option<Span>,
},
RawValue {
name: String,
value: String,
span: Option<Span>,
},
RawGroup {
name: String,
children: Vec<SettingsNode>,
span: Option<Span>,
},
}Expand description
One member of a settings group.
Variants§
Workshop
User-authored mode data under settings.workshop.
Group
Number
Bool
Flag
A presence-only Workshop extension setting (for example Beam Effects).
String
List
Raw
A syntactically valid settings member whose semantic catalog entry is not yet declared. The raw value is carried explicitly so parsing does not fabricate a type or silently discard project settings.
RawValue
A member written as name: value with the value as authored and never
interpreted. At a catalogued path name is the canonical key and is
emitted in the target locale; elsewhere it is written as is. Carries
catalogued keys with values the catalog does not declare, and members
whose empty value still needs its :.
RawGroup
A member written as name { ... } with the block emitted verbatim:
the pass-through marker for non-scalar members at positions where a
plain Group is name-resolved or kind-checked (a hero group under a
team, a member block under a catalogued key). The name is written as
authored and children carry their written form; a typed leaf inside
still fails the written-form checks the opaque-group path applies.