aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser/src/syntax_kind
Commit message (Collapse)AuthorAgeFilesLines
* Provide more complete AST accessors to support usage in rustcLuca Barbieri2020-04-091-1/+5
|
* Macro patterns are not confused with expressions.Aleksey Kladov2020-04-031-0/+1
| | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`.
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-1/+1
|
* Add or- and parenthesized-patternsMatthew Jasper2020-02-091-0/+2
|
* Rename add import assistKirill Bulatov2020-02-071-1/+1
|
* Improve const generics parsingMichael Chesser2020-01-061-0/+1
| | | | | - Handle const generics type args - Fix issue with const generic as first parameter in trait impl
* Switch ast declaration from ron to a macroAleksey Kladov2020-01-031-135/+135
|
* Merge #2641bors[bot]2019-12-221-0/+1
|\ | | | | | | | | | | | | | | | | | | | | 2641: Parse const generics r=matklad a=roblabla Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid. Fixes #1574 Fixes #2281 Co-authored-by: roblabla <[email protected]>
| * Parse const genericsroblabla2019-12-221-0/+1
| | | | | | | | | | Fixes #1574 Fixes #2281
* | Add macro 2.0 support in parserEdwin Cheng2019-12-211-1/+7
|/
* Introduce dedicated AST node for unionAleksey Kladov2019-11-251-0/+1
| | | | | | | | | | Although structs and unions have the same syntax and differ only in the keyword, re-using the single syntax node for both of them leads to confusion in practice, and propagates further down the hir in an upleasent way. Moreover, static and consts also share syntax, but we use different nodes for them.
* Added test for check doc strings in crates.Alexander Andreev2019-09-301-1/+1
| | | | #1856
* simplifyAleksey Kladov2019-09-241-0/+5
|
* Add `DotDotPat` to ASTDylan MacKenzie2019-09-151-0/+1
| | | | This is modeled on `PlaceholderPat`.
* Add `BoxPat` variantDylan MacKenzie2019-08-231-0/+1
|
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-231-10/+10
|
* use derive(Debug) for SyntaxKindAleksey Kladov2019-08-191-247/+1
|
* plug new boilerplate_gen into ra_toolsAleksey Kladov2019-08-191-4/+0
|
* use new quote-generated syntax kindsAleksey Kladov2019-08-192-577/+538
|
* add await to syntax, parser for await_exprUnreal Hoang2019-07-201-0/+7
|
* fix: box_patterncsmoe2019-06-191-0/+7
| | | | Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
* fix: support existential typecsmoe2019-06-121-0/+4
|
* [#1083] Try block syntaxAndrey Tkachenko2019-06-061-0/+7
|
* fixed macro for bracketsSergey Parilin2019-05-152-3/+3
|
* Implemented T! macro for syntax kindsSergey Parilin2019-05-132-0/+109
|
* Add MacroItems and MacroStmts in grammer.ronEdwin Cheng2019-04-181-0/+4
|
* Merge #1138bors[bot]2019-04-141-0/+4
|\ | | | | | | | | | | | | | | | | | | | | 1138: Add L_DOLLAR and R_DOLLAR r=matklad a=edwin0cheng As discussion in issue https://github.com/rust-analyzer/rust-analyzer/issues/1132 and PR #1125 , this PR add 2 `Syntax::Kind` : `L_DOLLAR` and `R_DOLLAR` for representing `Delimiter::None` in mbe and proc_marco. By design, It should not affect the final syntax tree, and will be discard in `TreeSink`. My original idea is handling these 2 tokens case by case, but i found that they will appear in every place in the parser (imagine `tt` matcher). So this PR only handle it in `Parser::do_bump` and `Parser::start`, although It will not fix the `expr` matcher executing order problem in original idea. Co-authored-by: Edwin Cheng <[email protected]>
| * Add L_DOLLAR and R_DOLLAREdwin Cheng2019-04-111-0/+4
| |
* | migrate to untyped rowanAleksey Kladov2019-04-092-0/+36
|/
* Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-301-0/+4
| | | | | | These are now used when parsing type bounds. In addition parsing paths inside a bound now does not recursively parse paths, rather they are treated as separate bounds, separated by +.
* Add async keywordCaio2019-03-091-0/+4
|
* rename type to type_alias in the AST as wellAleksey Kladov2019-02-251-2/+2
|
* fix the testAleksey Kladov2019-02-211-2/+2
|
* move parser to a separate crateAleksey Kladov2019-02-212-0/+738