1use crate::xkb::Rule;
2use derivative::Derivative;
3use pest_ast::FromPest;
4
5#[derive(Derivative, FromPest, Clone, PartialEq)]
6#[derivative(Debug)]
7#[pest_ast(rule(Rule::file))]
8pub struct File<'src> {
9 pub definitions: Vec<Definition<'src>>,
10 #[derivative(Debug = "ignore")]
11 eoi: EOI,
12}
13
14mod helpers;
15pub(crate) use helpers::*;
16
17mod basic;
18pub use basic::*;
19
20mod common;
21pub use common::*;
22
23mod xkb_symbols;
24pub use xkb_symbols::*;
25
26mod xkb_keycodes;
27pub use xkb_keycodes::*;
28
29mod xkb_types;
30pub use xkb_types::*;
31
32mod xkb_compatibility;
33pub use xkb_compatibility::*;
34
35mod xkb_geometry;
36pub use xkb_geometry::*;
37
38#[cfg(test)]
39mod tests;