update fragment specifiers/allow spaces in metavariable declarations · dustypomerleau/rust-syntax@268fd42
@@ -46,3 +46,44 @@ let x6 = 1.123E-12;
4646// ^ keyword.operator.exponent.rust
4747// ^ keyword.operator.exponent.sign.rust
4848// ^^ constant.numeric.decimal.exponent.mantissa.rust
49+50+// macro metavarables
51+macro_rules! metavariable_test {
52+($var:tt $Type:ty $var : tt $Type :ty) => {};
53+// ^^^^^^^ ^^^^^^^^^ meta.macro.metavariable.rust
54+// ^^^^^^^^ ^^^^^^^^^ meta.macro.metavariable.type.rust
55+// ^ ^ ^ ^ keyword.operator.macro.dollar.rust
56+// ^^^ ^^^ variable.other.metavariable.name.rust
57+// ^^^^ ^^^^ entity.name.type.metavariable.rust
58+// ^ ^ ^ ^ keyword.operator.key-value.rust
59+// ^^ ^^ ^^ ^^ variable.other.metavariable.specifier.rust
60+($var:pat_param $Var:pat_param) => {};
61+// ^^^^^^^^^^^^^^ meta.macro.metavariable.rust
62+// ^^^^^^^^^^^^^^ meta.macro.metavariable.type.rust
63+// ^ ^ keyword.operator.macro.dollar.rust
64+// ^^^ variable.other.metavariable.name.rust
65+// ^^^ entity.name.type.metavariable.rust
66+// ^ ^ keyword.operator.key-value.rust
67+// ^^^^^^^^^ ^^^^^^^^^ variable.other.metavariable.specifier.rust
68+($var: expr_2021 $Var: expr_2021) => {};
69+// ^^^^^^^^^^^^^^^ meta.macro.metavariable.rust
70+// ^^^^^^^^^^^^^^^ meta.macro.metavariable.type.rust
71+// ^ ^ keyword.operator.macro.dollar.rust
72+// ^^^ variable.other.metavariable.name.rust
73+// ^^^ entity.name.type.metavariable.rust
74+// ^ ^ keyword.operator.key-value.rust
75+// ^^^^^^^^^ ^^^^^^^^^ variable.other.metavariable.specifier.rust
76+() => { $var $Type $crate };
77+// ^^^^ meta.macro.metavariable.rust
78+// ^^^^^ ^^^^^^ meta.macro.metavariable.type.rust
79+// ^ ^ ^ - meta.macro.metavariable.rust meta.macro.metavariable.type.rust
80+// ^ ^ ^ keyword.operator.macro.dollar.rust
81+// ^^^ variable.other.metavariable.name.rust
82+// ^^^^ entity.name.type.metavariable.rust
83+// ^^^^^ keyword.other.crate.rust
84+() => { $var: not_a_specifier };
85+// ^^^^ meta.macro.metavariable.rust
86+// ^ keyword.operator.macro.dollar.rust
87+// ^^^ variable.other.metavariable.name.rust
88+// ^^^^^^^^^^^^^^^^^ - meta.macro.metavariable.rust
89+}