aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser/src/parser.rs
Commit message (Collapse)AuthorAgeFilesLines
* don't break parser error recovery in presence of macrosAleksey Kladov2019-09-121-2/+2
| | | | | | | Parser has the invariant that `{}` are balanced. Previous code tried (unsucesfuly) maintain the same invariant for `$()` as well, but it was done in a rather ad-hoc manner: it's not at all obvious that it is possible to maintain both invariants!
* cleanup dollar handling in expressionsAleksey Kladov2019-09-101-56/+17
|
* "Fix" mbe to work with decomposed tokensAleksey Kladov2019-09-101-57/+0
| | | | We regressed $i * 2 where $i = 1 + 1, need to fix that!
* WIP: switch to fully decomposed tokens internallyAleksey Kladov2019-09-101-137/+115
|
* introduce bump as a better-checked alternative to bump_anyAleksey Kladov2019-09-091-0/+6
|
* rename bump -> bump_anyAleksey Kladov2019-09-091-3/+3
|
* Optimize Parser::is_composite a littleLaurențiu Nicola2019-08-051-19/+35
|
* allow rustfmt to reorder importsAleksey Kladov2019-07-041-3/+3
| | | | | | This wasn't a right decision in the first place, the feature flag was broken in the last rustfmt release, and syntax highlighting of imports is more important anyway
* fix: never type with bindingcsmoe2019-06-071-1/+1
| | | | Change-Id: I14e1bc628b9d2dfdb1f40de3d3707f4e872767f2
* Change TokenSource to iteration basedEdwin Cheng2019-05-251-24/+33
|
* apply T! macro where it is possibleSergey Parilin2019-05-151-13/+12
|
* Skip Dollars when bump raw tokenEdwin Cheng2019-05-011-1/+9
|
* Refactor parser handle mult-char punct internallyEdwin Cheng2019-04-281-4/+60
|
* Fix bug and add expr , pat , ty matcherEdwin Cheng2019-04-141-13/+79
|
* Remove skip Delimiter::None and handle DollarsEdwin Cheng2019-04-121-0/+12
|
* replace todo with fixmeAleksey Kladov2019-03-231-2/+2
|
* Replace `contract_child` to a less ad-hoc APIpcpthm2019-03-191-30/+27
|
* Mark non-code block as textpcpthm2019-03-191-1/+1
|
* Allow attributes on top level expressionpcpthm2019-03-191-0/+23
| | | | | | A top level expression is either - a expression statement or - the last expression in a block
* move parser to a separate crateAleksey Kladov2019-02-211-0/+267