aboutsummaryrefslogtreecommitdiff
path: root/crates/assists/src/handlers
Commit message (Collapse)AuthorAgeFilesLines
* Better fixture highlightAleksey Kladov2021-01-071-3/+3
|
* Change <|> to $0 - RebaseKevaundray Wedderburn2021-01-0750-757/+745
|
* Remove some stale deprecationsAleksey Kladov2021-01-071-1/+0
|
* Align config's API with usageAleksey Kladov2021-01-061-2/+1
| | | | The config now is mostly immutable, optimize for that.
* Better target for move moduleAleksey Kladov2021-01-061-18/+30
|
* Rename expr -> tail_exprAleksey Kladov2021-01-059-17/+21
|
* Created an inline-function assist (fixes #6863)Michael-F-Bryan2021-01-041-0/+202
|
* rename exrtract_assignment -> pullAleksey Kladov2021-01-041-27/+27
| | | | | | | 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-032-14/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | 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
| |
| * 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-022-0/+3
| |
| * HasSource::source -> HasSource::source_oldNick Spain2021-01-022-3/+3
| | | | | | | | To start migrating HasSource::source to return an Option.
* | Add support for MatchExpr to extract_assigment assistJesse Bakker2021-01-021-7/+94
| |
* | Add extract-assignment assistJesse Bakker2021-01-021-0/+238
|/
* Avoid a couple of allocationsLaurențiu Nicola2020-12-292-16/+17
|
* Merge #7038bors[bot]2020-12-251-7/+9
|\ | | | | | | | | | | | | | | 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-251-7/+9
| |
* | 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-221-0/+170
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * Add extract_module_to_file assistDaiki Ihara2020-12-211-0/+170
| |
* | 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-211-0/+9
|/
* 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-161-0/+175
|\ \ | | | | | | | | | | | | | | | | | | | | | 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-141-0/+171
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | Merge #6894bors[bot]2020-12-161-0/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 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-151-0/+9
| |/
* / 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
|/
* Normalize spelling to American EnglishAleksey Kladov2020-12-101-3/+3
|
* Add replace_match_with_if_let assistLukas Wirth2020-12-054-3/+279
|
* Fix use merging not using the first path segmentLukas Wirth2020-11-301-1/+1
|
* Minor cleanupAleksey Kladov2020-11-301-14/+9
|
* Move the helpers into ide_dbKirill Bulatov2020-11-288-11/+11
|
* Rustdocs fixesKirill Bulatov2020-11-271-1/+1
|
* Extract the import code into the shared moduleKirill Bulatov2020-11-278-27/+26
|
* Merge #6586bors[bot]2020-11-271-8/+16
|\ | | | | | | | | | | | | | | 6586: Don't call a closure a function in the infer_function_return_type assist label r=lnicola a=Veykril `Add this function's return type` becomes `Add this closure's return type` for closures. This makes it more obvious that we are indeed planning on modifying the closure and not its containing function. Co-authored-by: Lukas Wirth <[email protected]>
| * Don't call a closure function in infer_function_return_type labelLukas Wirth2020-11-171-8/+16
| |
* | Avoid string allocations in ignore_testLaurențiu Nicola2020-11-241-1/+1
| |