aboutsummaryrefslogtreecommitdiff
path: root/crates/assists/src/handlers
Commit message (Collapse)AuthorAgeFilesLines
* convert IdentPat to Pat via IntoVladyslav Katasonov2021-02-031-5/+5
| | | | before child getter was used
* support extracting methods; no mut loweringVladyslav Katasonov2021-02-031-37/+191
| | | | | currently mut refernce will *not* be downgraded to shared if it is sufficient(see relevant test for example)
* initial version of extract function assistVladyslav Katasonov2021-02-031-0/+819
| | | | | | | | there are a few currently limitations: * no modifications of function body * does not handle mutability and references * no method support * may produce incorrect results
* Enable fill_match_arms in macrosLukas Wirth2021-01-271-3/+35
|
* Add failing test caseDániel Buga2021-01-261-0/+28
|
* Deduplicate variant matchingDániel Buga2021-01-222-42/+6
|
* replace_if_let_with_match: don't assume sad patternDániel Buga2021-01-221-2/+88
|
* Merge #7310 #7395bors[bot]2021-01-221-0/+228
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7310: Add assist: add lifetime to type r=matklad a=bnjjj close #7200 7395: Obtain `ModuleId`'s `DefMap` through a method r=jonas-schievink a=jonas-schievink Once `ModuleId` can represent modules inside block expressions, this will be required in order to obtain the correct `DefMap`. Otherwise existing code might use a `LocalModuleId` from the wrong `DefMap` and cause a panic. bors r+ Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| * Add assist: add lifetime to type #7200Benjamin Coenen2021-01-211-16/+21
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * Add assist: add lifetime to type #7200Benjamin Coenen2021-01-181-0/+6
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * Add assist: add lifetime to type #7200Benjamin Coenen2021-01-171-0/+217
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Treat BlockExpr as a potential module originJonas Schievink2021-01-201-5/+14
| |
* | .Aleksey Kladov2021-01-194-18/+22
| |
* | Show deprecated completions for deprecated traitsKirill Bulatov2021-01-181-1/+1
| |
* | Merge #7297 #7338bors[bot]2021-01-182-42/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7297: Propose trait associated items and autoimport traits on completion r=matklad a=SomeoneToIgnore ![trait_imports](https://user-images.githubusercontent.com/2690773/104819998-6faeb480-583a-11eb-8b45-b7351b51b90e.gif) Closes #7248 7338: Parse `impl const Trait` r=Veykril a=Veykril Closes #7313 bors r+ Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| * | Add flyimport completion for trait assoc itemsKirill Bulatov2021-01-162-42/+40
| |/
* | Merge #7291bors[bot]2021-01-181-1/+1
|\ \ | |/ |/| | | | | | | | | | | 7291: Wrap remaining self/super/crate in Name{Ref} r=matklad a=Veykril That should be the remaining special casing for `self` 🎉 Co-authored-by: Lukas Wirth <[email protected]>
| * Wrap remaining self/super/crate in Name{Ref}Lukas Wirth2021-01-151-1/+1
| |
* | Share import_assets and related entitiesKirill Bulatov2021-01-162-22/+27
| |
* | Add test mark for skipping single use itemunexge2021-01-151-0/+3
| |
* | Create new nodes only when applying changesunexge2021-01-151-16/+31
| |
* | Add Unmerge Use assistunexge2021-01-151-0/+213
|/
* Add support for yiled keywordDaiki Ihara2021-01-151-22/+23
|
* Sort impls by trait definitionFisher Darling2021-01-131-0/+201
| | | | Closes #6110
* Ensure uniqueness of file ids in reference search via hashmapLukas Wirth2021-01-123-20/+18
|
* Group references by FileIdLukas Wirth2021-01-123-90/+107
|
* Replace SyntaxKind usage with T! macro where applicableLukas Wirth2021-01-101-6/+6
|
* 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]>