Use T! for bool keywords

This commit is contained in:
Laurențiu Nicola 2021-01-10 17:47:12 +02:00
parent 035fed5f9f
commit a7db8abab7
2 changed files with 22 additions and 1 deletions

View file

@ -55,7 +55,7 @@ fn generic_arg(p: &mut Parser) {
expressions::literal(p); expressions::literal(p);
m.complete(p, CONST_ARG); m.complete(p, CONST_ARG);
} }
TRUE_KW | FALSE_KW => { T![true] | T![false] => {
expressions::literal(p); expressions::literal(p);
m.complete(p, CONST_ARG); m.complete(p, CONST_ARG);
} }

View file

@ -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). **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 ## Documentation
For `.md` and `.adoc` files, prefer a sentence-per-line format, don't wrap lines. For `.md` and `.adoc` files, prefer a sentence-per-line format, don't wrap lines.