aboutsummaryrefslogtreecommitdiff
path: root/crates/assists/src
Commit message (Collapse)AuthorAgeFilesLines
* Align config's API with usageAleksey Kladov2021-01-066-55/+37
| | | | The config now is mostly immutable, optimize for that.
* Better target for move moduleAleksey Kladov2021-01-063-35/+47
|
* Rename expr -> tail_exprAleksey Kladov2021-01-0510-18/+22
|
* Created an inline-function assist (fixes #6863)Michael-F-Bryan2021-01-043-0/+227
|
* rename exrtract_assignment -> pullAleksey Kladov2021-01-043-60/+60
| | | | | | | Vertical code motions are conventionally called "pull up" / "push down". "extract" is used for introducing new names.
* Support assignment to FieldExpr for extract_assignment assistJesse Bakker2021-01-031-14/+89
|
* Merge #7115bors[bot]2021-01-033-18/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | 7115: Migrate HasSource::source to return Option r=matklad a=nick96 I've made a start on fixing #6913 based on the provided work plan, migrating `HasSource::source` to return an `Option`. The simple cases are migrated but there are a few that I'm unsure exactly how they should be handled: - Logging the processing of functions in `AnalysisStatsCmd::run`: In verbose mode it includes the path to the module containing the function and the syntax range. I've handled this with an if-let but would it be better to blow up here with `expect`? I'm not 100% on the code paths but if we're processing a function definition then the source should exist. I've handled `source()` in all code paths as `None` being a valid return value but are there some cases where we should just blow up? Also, all I've done is bubble up the returned `None`s, there may be some places where we can recover and still provide something. Co-authored-by: Nick Spain <[email protected]> Co-authored-by: Nick Spain <[email protected]>
| * Handle missing source in target_data_for_defNick Spain2021-01-021-13/+12
| |
| * Handle missing source in filter_assoc_itemsNick Spain2021-01-021-7/+8
| |
| * Go back to use of source_old() in offset_target_and_file_id as it's not as ↵Nick Spain2021-01-021-1/+2
| | | | | | | | simple as I thought
| * source_old -> source for cases that can be handled by simple bubblingNick Spain2021-01-022-5/+3
| |
| * Mark HasSource::source_old as deprecated but allow at all call sitesNick Spain2021-01-023-4/+10
| |
| * HasSource::source -> HasSource::source_oldNick Spain2021-01-023-6/+6
| | | | | | | | To start migrating HasSource::source to return an Option.
* | Fix warnings on rust-nightlycynecx2021-01-021-1/+1
| |
* | Add support for MatchExpr to extract_assigment assistJesse Bakker2021-01-021-7/+94
| |
* | Add extract-assignment assistJesse Bakker2021-01-023-0/+269
|/
* Merge #7080bors[bot]2021-01-011-1/+2
|\ | | | | | | | | | | | | | | 7080: Implement ConstParams for HIR r=Veykril a=Veykril r? @flodiebold Co-authored-by: Lukas Wirth <[email protected]>
| * Add ConstParams to the ide layerLukas Wirth2021-01-011-1/+2
| |
* | Avoid a couple of allocationsLaurențiu Nicola2020-12-293-35/+35
|/
* Simplify assists resolution APIAleksey Kladov2020-12-263-91/+49
| | | | | | Assist vs UnresolvedAssist split doesn't really pull its weight. This is especially bad if we want to include `Assist` as a field of diagnostics, where we'd have to make the thing generic.
* Merge #7038bors[bot]2020-12-252-14/+18
|\ | | | | | | | | | | | | | | 7038: Fix type typo in add_missing_impl_members doc r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Fix type typo in add_missing_impl_members docLukas Wirth2020-12-252-14/+18
| |
* | Don't think that /submod.rs is /mod.rsAleksey Kladov2020-12-231-4/+4
| |
* | Improve extract_module_to_file assistAleksey Kladov2020-12-221-103/+66
|/ | | | | | | * simplify code * correctly handle crate roots and mod.rs files (nested inline modules are still mishandled) * make sure that new text contains a trailing newline
* Merge #6746bors[bot]2020-12-225-7/+221
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6746: Feature/add assist extract module to file r=matklad a=sasurau4 Fix #6522 ## Screenshot <img src="https://user-images.githubusercontent.com/13580199/102748269-33a44300-43a5-11eb-9e37-f5fcb8e62f73.gif" width=600 /> ## TODO - [x] Remove all TODO comment - [x] Pass the doc test Co-authored-by: Daiki Ihara <[email protected]>
| * Fix assist test logicDaiki Ihara2020-12-211-2/+6
| |
| * Add initial_contents field for CreateFileDaiki Ihara2020-12-212-39/+18
| |
| * Add extract_module_to_file assistDaiki Ihara2020-12-213-0/+187
| |
| * Add handling file_system_edit in test assistsDaiki Ihara2020-12-212-15/+59
| |
* | Delete related whitespace when removing unused paramRüdiger Herrmann2020-12-211-7/+74
| | | | | | | | | | | | | | Include adjacent whitespace in the text edits to remove the parameter declaration and its occurences in calling code. https://github.com/rust-analyzer/rust-analyzer/issues/6663
* | Remove parentheses when inverting `!(cond)`Jesse Bakker2020-12-212-1/+16
|/
* Align code_model name with ungrammarAleksey Kladov2020-12-203-6/+6
|
* Minor, cleanup APIAleksey Kladov2020-12-181-1/+1
|
* Merge #6896bors[bot]2020-12-163-14/+11
|\ | | | | | | | | | | | | | | | | | | | | | | 6896: Node-ify lifetimes r=jonas-schievink a=Veykril Let's see if this passes the tests 🤞 Depends on https://github.com/rust-analyzer/ungrammar/pull/15 Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| * Node-ify lifetimesLukas Wirth2020-12-163-14/+11
| |
* | Merge #6861bors[bot]2020-12-163-0/+204
|\ \ | | | | | | | | | | | | | | | | | | | | | 6861: generate default implementation for an enum from an enum variant #6860 r=matklad a=bnjjj close #6860 Co-authored-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-151-4/+8
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-151-22/+22
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-143-0/+200
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | Merge #6894bors[bot]2020-12-162-0/+13
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 6894: Parenthesize composite if condition before inverting in invert-if assist r=matklad a=Jesse-Bakker Fixes #6867 Co-authored-by: Jesse Bakker <[email protected]>
| * | Parenthesize composite if condition before inverting in invert-if assistJesse Bakker2020-12-152-0/+13
| |/
* / Use standard test styleAleksey Kladov2020-12-151-62/+67
|/
* Merge #6845bors[bot]2020-12-121-0/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 6845: Don't HirDisplay unknown types when displaying for source r=Veykril a=Veykril Was wondering why the add missing impl assist didn't do anything here: ![Code_JCA1Qo0V9P](https://user-images.githubusercontent.com/3757771/101990300-7af44a80-3ca6-11eb-8431-e5eb4de4e78c.png) Turns out me forgetting to set the Index::Idx type in the trait causes RA to panic due to it trying to to create an unparsable type in the `make` module. Now we get this instead which imo is definitely better to have. ![Code_MUFPJUCULY](https://user-images.githubusercontent.com/3757771/101990347-c9094e00-3ca6-11eb-9c6a-146bddf64b7c.png) Co-authored-by: Lukas Wirth <[email protected]>
| * Don't HirDisplay unknown types when displaying for sourceLukas Wirth2020-12-121-0/+25
| |
* | Remove some redundant allocationsJeremy Kolb2020-12-122-2/+2
| |
* | Add Lifetimes to the HIRLukas Wirth2020-12-111-1/+1
|/
* Normalize spelling to American EnglishAleksey Kladov2020-12-102-6/+6
|
* Add replace_match_with_if_let assistLukas Wirth2020-12-056-3/+308
|
* Fix use merging not using the first path segmentLukas Wirth2020-11-301-1/+1
|
* Minor cleanupAleksey Kladov2020-11-303-36/+31
|