aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #3710bors[bot]2020-03-2411-9/+218
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3710: Inlay hints for method chaining pattern r=matklad a=M-J-Hooper This PR adds inlay hints on method call chains: ![image](https://user-images.githubusercontent.com/13765376/77472008-8dc2a880-6e13-11ea-9c18-2c2e2b809799.png) It is not only explicit `MethodCall`s where this can be helpful. The heuristic used here is that whenever any expression is followed by a new line and then a dot, it resembles a call chain and type information can be #useful. Changes: - A new `InlayKind` for chaining. - New option for disabling this type of hints. - Tree traversal rules for identifying the chaining hints. - VSCode decorators in the extension layer (and associated types). Notes: - IntelliJ has additional rules and configuration on this topic. Eg. minimum length of chain to start displaying hints and only displaying distinct types in the chain. - I am checking for chaining on every `ast::Expr` in the tree; Are there performance concerns there? This is my first contribution (to RA and to Rust in general) so would appreciate any feedback. The only issue I can find the references this feature is #2741. Co-authored-by: Matt Hooper <[email protected]>
| * | | Improvements based on code review feedbackMatt Hooper2020-03-241-5/+5
| | | |
| * | | Fmt correctionsMatt Hooper2020-03-241-13/+9
| | | |
| * | | Added more unit testsMatt Hooper2020-03-241-76/+159
| | | |
| * | | Updated docsMatt Hooper2020-03-241-0/+2
| | | |
| * | | Extension types and renderingMatt Hooper2020-03-245-4/+39
| | | |
| * | | Added new inlay hint kind and rules for method chainingMatt Hooper2020-03-245-5/+98
|/ / /
* | | Merge #3664bors[bot]2020-03-242-171/+250
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3664: Introduce TokenConverter Trait r=matklad a=edwin0cheng This PR add a `TokenConverter` Trait to share the conversion logic between raw `lexer` token and Syntax Node Token. Related #2158. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Add open delim when delim not matchEdwin Cheng2020-03-202-5/+28
| | | |
| * | | Fix text range bug and reorderEdwin Cheng2020-03-201-14/+19
| | | |
| * | | Add TokenConvertor traitEdwin Cheng2020-03-202-239/+155
| | | |
| * | | Add test for delim bugEdwin Cheng2020-03-202-12/+147
| | | |
* | | | Merge #3708bors[bot]2020-03-247-121/+270
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3708: Generalise syntax rewriting infrastructure to allow removal of nodes r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Generalise syntax rewriting infrastructure to allow removal of nodesAleksey Kladov2020-03-247-121/+252
| | | |
| * | | Add a testAleksey Kladov2020-03-231-0/+18
| | | |
* | | | Merge #3705bors[bot]2020-03-243-5/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3705: Align naming r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Align namingAleksey Kladov2020-03-243-5/+5
| | | | |
* | | | | Merge #3700bors[bot]2020-03-244-49/+52
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3700: fill match arms with empty block rather than unit tuple r=matklad a=JoshMcguigan As requested by @Veetaha in #3689 and #3687, this modifies the fill match arms assist to create match arms as an empty block `{}` rather than a unit tuple `()`. In one test I left one of the pre-existing match arms as a unit tuple, and added a body to another match arm, to demonstrate that the contents of existing match arms persist. Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | update assists docsJosh Mcguigan2020-03-241-2/+2
| | | | |
| * | | | fill match arms with empty block rather than unit tupleJosh Mcguigan2020-03-243-47/+50
| | | | |
* | | | | Merge #3694bors[bot]2020-03-241-1/+61
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3694: Complete only missing fields r=matklad a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * | | | | Code review fixesKirill Bulatov2020-03-241-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * | | | | Complete only missing fieldsKirill Bulatov2020-03-231-1/+60
| | |_|_|/ | |/| | |
* | | | | Merge #3704bors[bot]2020-03-241-0/+10
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3704: Add troubleshooting secion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Add troubleshooting secionAleksey Kladov2020-03-241-0/+10
|/ / / / /
* | | | | Merge #3695bors[bot]2020-03-241-61/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3695: vscode: simplify and refactor config r=matklad a=Veetaha Removed unnecessary interfaces, changed `cfg` to be a getter to ensure the fresh values any time possible. Migrated from explicit casts to implicit. Co-authored-by: veetaha <[email protected]>
| * | | | | vscode: simplify and refactor configveetaha2020-03-231-61/+45
| |/ / / /
| | | | |
| \ \ \ \
| \ \ \ \
| \ \ \ \
*---. \ \ \ \ Merge #3696 #3698 #3703bors[bot]2020-03-245-40/+150
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3696: vscode: more type safety r=matklad a=Veetaha 3698: Consider references when applying postfix completions r=matklad a=SomeoneToIgnore Sometimes my RA debugging workflow breaks because `.dbg` is applied to the variable that is used later in the code. It's safer to consider the refences to avoid this for completions that may trigger the move. 3703: Don't try to enable proposed API's on stable r=matklad a=matklad bors r+ 🤖 Co-authored-by: veetaha <[email protected]> Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| | | * | | | | Don't try to enable proposed API's on stableAleksey Kladov2020-03-243-21/+17
| | | | |/ / / | | | |/| | |
| | * / | | | Consider references when applying postfix completionsKirill Bulatov2020-03-231-17/+123
| | |/ / / /
| * | / / / vscode: more type safetyveetaha2020-03-231-2/+10
| | |/ / / | |/| | |
* | | | | Merge #3685bors[bot]2020-03-249-37/+100
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3685: Auto import macros r=SomeoneToIgnore a=SomeoneToIgnore If I got it right, assists test infra does not support multiple crates snippets (https://github.com/rust-analyzer/rust-analyzer/blob/2720e2374be951bb762ff2815dd67c7ffe3419b7/crates/ra_hir_def/src/nameres/tests.rs#L491) hence no tests added for the macro import. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | | Add a testKirill Bulatov2020-03-242-9/+45
| | | | |
| * | | | Use more generic public apiKirill Bulatov2020-03-249-47/+58
| | | | |
| * | | | Remove the upcastKirill Bulatov2020-03-241-3/+7
| | | | |
| * | | | Auto import macrosKirill Bulatov2020-03-245-34/+46
|/ / / /
* | | | Merge #3697bors[bot]2020-03-237-13/+22
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3697: update itertools version to 0.9.0 r=matklad a=JoshMcguigan Updating `itertools` version per [feedback on #3689](https://github.com/rust-analyzer/rust-analyzer/pull/3689#discussion_r396267680) from @SomeoneToIgnore. Worth noting that `chalk` still uses `itertools` v0.8.2, so perhaps it is worth a PR to update that repo as well so we don't have to build both versions? Co-authored-by: Josh Mcguigan <[email protected]>
| * | | update itertools version to 0.9.0Josh Mcguigan2020-03-237-13/+22
|/ / /
* | | Merge #3689bors[bot]2020-03-234-14/+257
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3689: implement fill match arm assist for tuple of enums r=matklad a=JoshMcguigan This updates the fill match arm assist to work in cases where the user is matching on a tuple of enums. Note, for now this does not apply when some match arms exist (other than the trivial `_`), but I think this could be added in the future. I think this also lays the groundwork for filling match arms when matching on tuples of non-enum values, for example a tuple of an enum and a boolean. Co-authored-by: Josh Mcguigan <[email protected]>
| * | review commentsJosh Mcguigan2020-03-232-17/+114
| | |
| * | implement fill match arm assist for tuple of enumsJosh Mcguigan2020-03-234-14/+160
| | |
* | | Fix formattingAleksey Kladov2020-03-232-2/+2
| | |
* | | fix release moreAleksey Kladov2020-03-231-1/+1
| | |
* | | fix release moreAleksey Kladov2020-03-231-1/+1
| | |
* | | Fix releaseAleksey Kladov2020-03-233-10/+25
| | |
* | | Merge pull request #3686 from Veetaha/feature/hover-actual-type-paramsAleksey Kladov2020-03-232-15/+17
|\ \ \ | | | | | | | | ra_hir: add more privacy for Type
| * | | ra_hir: add more privacy for Typeveetaha2020-03-232-15/+17
| | | |
* | | | Merge pull request #3678 from edwin0cheng/refactor-renameAleksey Kladov2020-03-234-26/+112
|\ \ \ \ | | | | | | | | | | Fix rename argument in macro call
| * | | | Fix typoEdwin Cheng2020-03-221-1/+1
| | | | | | | | | | | | | | | Co-Authored-By: Veetaha <[email protected]>
| * | | | Add testEdwin Cheng2020-03-221-0/+57
| | | | |