xkb_parser/ast/
xkb_geometry.rs1use crate::{ast::*, xkb::Rule};
2use derivative::Derivative;
3use pest_ast::FromPest;
4
5#[derive(Derivative, FromPest, Clone, PartialEq)]
6#[derivative(Debug)]
7#[pest_ast(rule(Rule::xkb_geometry))]
8pub struct XkbGeometry<'src> {
9 pub name: StringContent<'src>,
10 pub values: Vec<Debug<'src>>,
11}
12
13#[derive(Derivative, FromPest, Clone, PartialEq)]
14#[derivative(Debug)]
15#[pest_ast(rule(Rule::xkb_geometry_item))]
16pub struct XkbGeometryItem<'src> {
17 #[pest_ast(outer(with(span_into_str)))]
18 pub debug: &'src str, }
20
21#[derive(Derivative, FromPest, Clone, PartialEq)]
22#[derivative(Debug)]
23#[pest_ast(rule(Rule::geometry_assigment))]
24pub struct GeometryAssigment<'src> {
25 pub key: Ident<'src>,
26 pub subkey: Option<Ident<'src>>,
27 #[pest_ast(inner(with(span_into_str)))]
28 pub value: &'src str,
29}