diff --git a/crates/parser/src/grammar/type_args.rs b/crates/parser/src/grammar/type_args.rs index debb23fea1..42cd426bd7 100644 --- a/crates/parser/src/grammar/type_args.rs +++ b/crates/parser/src/grammar/type_args.rs @@ -55,7 +55,7 @@ fn generic_arg(p: &mut Parser) { expressions::literal(p); m.complete(p, CONST_ARG); } - TRUE_KW | FALSE_KW => { + T![true] | T![false] => { expressions::literal(p); m.complete(p, CONST_ARG); } diff --git a/docs/dev/style.md b/docs/dev/style.md index 67cbc67448..7481f80082 100644 --- a/docs/dev/style.md +++ b/docs/dev/style.md @@ -643,6 +643,27 @@ assert!(x >= lo && x <= hi>); **Rationale:** Less-then comparisons are more intuitive, they correspond spatially to [real line](https://en.wikipedia.org/wiki/Real_line). +## Token names + +Use `T![foo]` instead of `SyntaxKind::FOO_KW`. + +```rust +// GOOD +match p.current() { + T![true] | T![false] => true, + _ => false, +} + +// BAD + +match p.current() { + SyntaxKind::TRUE_KW | SyntaxKind::FALSE_KW => true, + _ => false, +} +``` + +**Rationale:** The macro uses the familiar Rust syntax, avoiding ambiguities like "is this a brace or bracket?". + ## Documentation For `.md` and `.adoc` files, prefer a sentence-per-line format, don't wrap lines.