1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Spelling-to-type macros for the generated token and delimiter atoms.
//!
//! These are the only two `macro_rules!` in the crate, and they are ordinary
//! source rather than part of the `syntax!` expansion: rust-analyzer does not
//! register `macro_rules!` produced by a procedural macro, which would leave
//! every call site unresolved in the editor (rust-lang/rust-analyzer#10644).
//!
//! Neither needs the schema. `Token!` defers the spelling-to-name computation
//! to the `token!` procedural macro, and the delimiter families are a fixed
//! set.
/// Declares typed syntax nodes, token atoms, and enabled derived APIs.
///
/// The main crate selects the internal procedural-macro entry point so that
/// `pretty` and `walk` are resolved as `m2-syn` dependency features rather
/// than as features of the crate invoking this macro.
/// Names the token type generated for a spelling, as in `Token![;]`.
;
}
/// Names the delimiter atom for a delimiter family, as in `Delimiter![()]`.
;
=> ;
=> ;
=> ;
=> ;
}