aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1154bors[bot]2019-04-203-1/+16
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1154: Initial support for lang items (and str completion) r=flodiebold a=marcogroppo This PR adds partial support for lang items. For now, the only supported lang items are the ones that target an impl block. Lang items are now resolved during type inference - this means that `str` completion now works. Fixes #1139. (thanks Florian Diebold for the help!) Co-authored-by: Marco Groppo <[email protected]>
| * Initial support for lang items.Marco Groppo2019-04-193-1/+16
| |
* | Add MacroItems and MacroStmts in grammer.ronEdwin Cheng2019-04-182-0/+81
|/
* Merge #1138bors[bot]2019-04-141-0/+2
|\ | | | | | | | | | | | | | | | | | | | | 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/+2
| |
* | replace usages of `algo::generate` with `iter::successors` from stdRobin Freyler2019-04-133-18/+10
| |
* | fix typoAleksey Kladov2019-04-111-1/+1
| |
* | migrate to untyped rowanAleksey Kladov2019-04-097-155/+153
|/
* updated snapshotsLenard Pratt2019-04-074-8/+3
|
* Added ArrayExprKind,Lenard Pratt2019-04-072-2/+24
| | | | | changed the display for fixed array types, Added Array Enum to ra_hir/expr
* Added inference of array lengthLenard Pratt2019-04-072-1/+6
|
* Parse and infer tuple indicesrobojumper2019-04-069-12/+126
|
* Add proper test for literals and fixed typo bugEdwin Cheng2019-04-051-1/+1
|
* Add classify_literal and undo expose next_tokenEdwin Cheng2019-04-053-2/+11
|
* Fix literal support in token tree to ast item listEdwin Cheng2019-04-052-2/+2
|
* Parse unsafe async / const unsafe fns properlyrobojumper2019-04-034-0/+78
|
* Merge #1076bors[bot]2019-04-022-2/+12
|\ | | | | | | | | | | | | | | | | 1076: Const body inference r=flodiebold a=Lapz This is the second part of #887. I've added type inference on const bodies and introduced the DefWithBody containing Function, Const and Static. I want to add tests but im unsure on how I would go about testing that completions work. Co-authored-by: Lenard Pratt <[email protected]>
| * Added const bodies and static body to the astLenard Pratt2019-04-022-5/+12
| | | | | | | | | | | | and added inference the inference test reduce code duplication
| * Added defWithBodyLenard Pratt2019-03-302-0/+3
| |
* | simplifyAleksey Kladov2019-04-027-400/+336
| |
* | Merge #1090bors[bot]2019-04-02219-8829/+8828
|\ \ | | | | | | | | | | | | | | | | | | | | | 1090: always show token text r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | always show token textAleksey Kladov2019-04-02219-8829/+8828
| | |
* | | fix inner block doc commentsAleksey Kladov2019-04-021-1/+1
|/ /
* | add minimal commentsAleksey Kladov2019-04-025-0/+13
| |
* | rename flavor to kindAleksey Kladov2019-04-023-26/+26
| |
* | move extensions to submodulesAleksey Kladov2019-04-023-549/+566
| |
* | remove flavorAleksey Kladov2019-04-021-4/+4
| |
* | More future-proof comment kindAleksey Kladov2019-04-022-33/+52
| |
* | fix comment namingAleksey Kladov2019-04-021-10/+9
| |
* | allow empty doc commentsAleksey Kladov2019-04-021-4/+6
| |
* | add ast::tokensAleksey Kladov2019-04-023-95/+106
| |
* | simplifyAleksey Kladov2019-04-021-23/+19
| |
* | move ast traits to a separate fileAleksey Kladov2019-04-022-144/+155
| |
* | Merge #1084bors[bot]2019-04-013-37/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | 1084: remove dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | remove dead codeAleksey Kladov2019-04-013-37/+0
| | |
* | | intelligently add parens when inlining local varaiblesgfreezy2019-04-012-1/+10
|/ /
* | Merge #1082bors[bot]2019-04-012-0/+95
|\ \ | | | | | | | | | | | | | | | | | | | | | 1082: Async block in argument position r=matklad a=andreytkachenko Fixes case when async block appears in argument position Co-authored-by: Andrey Tkachenko <[email protected]>
| * | Async block in argument positionAndrey Tkachenko2019-04-012-0/+95
| | |
* | | Merge #1081bors[bot]2019-04-012-6/+53
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 1081: Async closure syntax r=matklad a=robojumper Fixes #1080. Also fixes an error introduced by #1072 where something like `async move "foo"` in expression position would trigger the assertion in `block_expr`. Co-authored-by: robojumper <[email protected]>
| * | Async closure syntaxrobojumper2019-03-312-6/+53
| | |
* | | switch to new rowanAleksey Kladov2019-04-0115-800/+599
|/ /
* | Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-314-7/+131
| | | | | | | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* | Merge #1072bors[bot]2019-03-312-0/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | 1072: recognize async move blocks r=matklad a=memoryruins closes #1053 Co-authored-by: memoryruins <[email protected]>
| * | add test for async blocksmemoryruins2019-03-282-0/+40
| |/
* | Add trait ast::TypeBoundsOwnerVille Penttinen2019-03-313-5/+21
| |
* | Update testsVille Penttinen2019-03-313-67/+115
| |
* | Update testsVille Penttinen2019-03-3025-418/+634
| |
* | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-302-0/+81
| | | | | | | | | | | | 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 +.
* | Fix parsing <= in type_argsVille Penttinen2019-03-302-6/+27
|/
* Add tests to ra_syntax for extern_crate_selfmemoryruins2019-03-282-1/+17
|