aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement infer await from async funcEdwin Cheng2019-12-242-0/+8
|
* Merge #2641bors[bot]2019-12-221-0/+30
|\ | | | | | | | | | | | | | | | | | | | | 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/+30
| | | | | | | | | | Fixes #1574 Fixes #2281
* | Clippy lintskjeremy2019-12-201-2/+1
| |
* | Handle closure return typesFlorian Diebold2019-12-201-0/+3
| | | | | | | | Fixes #2547.
* | Use unwrap_or_defaultkjeremy2019-12-201-2/+2
|/
* Add `ModuleItemsOwner` to `Block`ice10002019-12-031-0/+1
|
* Fix hir for ast::UnionDefAleksey Kladov2019-11-252-15/+24
|
* Introduce dedicated AST node for unionAleksey Kladov2019-11-251-0/+28
| | | | | | | | | | 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.
* Merge #2343bors[bot]2019-11-243-4/+25
|\ | | | | | | | | | | | | | | | | | | 2343: implement assist invert_if r=matklad a=bravomikekilo fix [issue 2219 invert if condition](https://github.com/rust-analyzer/rust-analyzer/issues/2219) I put the assist cursor range to `if` of the if expression, because both condition and body will be replaced. Is there any way to replace them without cover the cursor position? @matklad Co-authored-by: bravomikekilo <[email protected]>
| * do refact and fix some issuebravomikekilo2019-11-243-4/+25
| |
* | Uniformalize namingAleksey Kladov2019-11-221-2/+2
|/
* Allow non-path default type parametersAleksey Kladov2019-11-202-8/+5
|
* :arrow_up: rowanAleksey Kladov2019-11-191-1/+1
|
* Remove the custom impl of AttrsOwner for ImplItemDJMcNab2019-11-182-11/+2
| | | | | | The default impl should have the same behaviour, and it can be generated by codegen. See also `ModuleItem` and `NominalDef`
* Add ast for plain and raw string literalsAleksey Kladov2019-11-161-10/+85
|
* Attempt to implement typed accessorsGeoffry Song2019-11-151-0/+46
|
* Make make:: builders slightly more convenientAleksey Kladov2019-11-132-9/+12
|
* Use strongly-typed ast building for early-return assistAleksey Kladov2019-11-131-21/+31
|
* Merge #2149bors[bot]2019-11-041-0/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | 2149: Handle IfLet in convert_to_guarded_return. r=matklad a=krk Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2124 I could not move the cursor position out of `let`: `le<|>t` vs `let<|>`. Also, please suggest extra test cases. Co-authored-by: krk <[email protected]>
| * Support paths other than "Some".krk2019-11-011-2/+3
| |
| * Handle IfLet in convert_to_guarded_return.krk2019-10-311-0/+16
| |
* | traits => match_ast!kjeremy2019-10-301-5/+7
|/
* Some clippy fixeskjeremy2019-10-301-2/+2
|
* Preserve whitespace at the end of doc commentsJeremy Kolb2019-10-271-2/+5
| | | | | | | | Whitespace can have special meaning in markdown. For instance ending a line with three spaces will render a new line. Note that this behavior diverges from RLS. Fixes #1997
* use correct spacing for enum patternAleksey Kladov2019-10-261-1/+1
|
* Adds "replace with guarded return" assistMikhail Modin2019-10-202-0/+36
|
* add syntax-tree based indentsAleksey Kladov2019-10-122-6/+91
|
* Pass attributes as token tree to DefCollectoruHOOCCOOHu2019-10-021-0/+1
|
* Merge branch 'master' into feature/issue/1856Alexander Andreev2019-09-304-55/+298
|\ | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs
| * FixesuHOOCCOOHu2019-09-301-9/+0
| |
| * Fix API of AttruHOOCCOOHu2019-09-303-46/+25
| |
| * Parse correct AttrInputuHOOCCOOHu2019-09-301-0/+44
| |
| * cleanup editorAleksey Kladov2019-09-301-1/+4
| |
| * remove ast_editor.rsAleksey Kladov2019-09-301-0/+12
| |
| * move remove bounds to ast/edit.rsAleksey Kladov2019-09-301-1/+15
| |
| * move field list to ast/edit.rsAleksey Kladov2019-09-301-1/+81
| |
| * migrate add impl items to the new editing APIAleksey Kladov2019-09-281-3/+94
| |
| * simplify strip attrsAleksey Kladov2019-09-282-2/+31
| |
* | Added test for check doc strings in crates.Alexander Andreev2019-09-301-1/+1
|/ | | | #1856
* Merge #1815bors[bot]2019-09-271-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]>
| * Refactor `Name` ready for hygienic macrouHOOCCOOHu2019-09-261-0/+10
| |
* | Start simplifying editing APIAleksey Kladov2019-09-262-0/+100
|/
* keep ast creation API simpleAleksey Kladov2019-09-261-0/+135
|
* add new editing API, suitable for modifying several nodes at onceAleksey Kladov2019-09-251-0/+9
|
* Support path starting with a typeuHOOCCOOHu2019-09-151-0/+3
|
* Add `DotDotPat` to ASTDylan MacKenzie2019-09-151-2/+35
| | | | This is modeled on `PlaceholderPat`.
* Infer box expressionuHOOCCOOHu2019-09-111-3/+37
|
* Lower `Fn(X, Y) -> Z` pathsFlorian Diebold2019-09-071-0/+6
|
* Merge #1743bors[bot]2019-09-051-0/+1
|\ | | | | | | | | | | | | | | 1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu Unfortunately, #1688 is still an issue. My guess is wrong :( Co-authored-by: uHOOCCOOHu <[email protected]>