aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/handlers
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #3741bors[bot]2020-03-271-1/+1
|\| | | | | | | | | | | | | | | | | | | | | 3741: More general ctor for ifs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * More general ctor for ifsAleksey Kladov2020-03-271-1/+1
| |
* | Merge #3732bors[bot]2020-03-261-0/+177
|\ \ | |/ |/| | | | | | | | | | | 3732: Assist: replace unwrap with match r=matklad a=unrealhoang attempt on #3669 Co-authored-by: Unreal Hoang <[email protected]>
| * Assist: replace unwrap with matchUnreal Hoang2020-03-261-0/+177
| |
* | Get rid of ItemOrMacroAleksey Kladov2020-03-261-2/+2
| |
* | Fix add visibility false-positiveAleksey Kladov2020-03-251-12/+28
|/
* Merge #3708bors[bot]2020-03-241-33/+70
|\ | | | | | | | | | | | | | | | | | | | | 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-241-33/+52
| |
| * Add a testAleksey Kladov2020-03-231-0/+18
| |
* | Merge #3705bors[bot]2020-03-241-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3705: Align naming r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Align namingAleksey Kladov2020-03-241-1/+1
| | |
* | | Merge #3700bors[bot]2020-03-241-45/+45
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | fill match arms with empty block rather than unit tupleJosh Mcguigan2020-03-241-45/+45
| | |
* | | Add a testKirill Bulatov2020-03-241-0/+25
| | |
* | | Use more generic public apiKirill Bulatov2020-03-242-23/+24
| | |
* | | Auto import macrosKirill Bulatov2020-03-242-15/+24
|/ /
* | review commentsJosh Mcguigan2020-03-231-16/+108
| |
* | implement fill match arm assist for tuple of enumsJosh Mcguigan2020-03-231-14/+149
|/
* disable invert if assist for if-let to fix #3281Josh Mcguigan2020-03-211-0/+13
|
* Address nits and suggestions.Steffen Lyngbaek2020-03-191-140/+32
| | | | | Simplify the logic a lot by removing the check for a placeholder pat. This means the auto-fill no longer returns a compile-able value.
* Don't show assist if all arms are presentSteffen Lyngbaek2020-03-191-33/+37
|
* 'Fill match arms' should work with existing match armsSteffen Lyngbaek2020-03-191-25/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses #3039 This essentially adds missing match arms. The algorithm for this can get complicated rather quickly so bail in certain conditions and rely on a PlaceholderPat. The algorighm works as such: - Iterate through the Enum Def Variants - Attempt to see if the variant already exists as a match arm - If yes, skip the enum variant. If no, include it. - If it becomes complicated, rather than exhaustively deal with every branch, mark it as a "partial match" and simply include the placeholder. Conditions for "complication": - The match arm contains a match guard - Any kind of nested destrucuring Order the resulting merged match branches as such: 1. Provided match arms 2. Missing enum variant branch arms 3. End with Placeholder if required - Add extra tests
* Cleanup importsAleksey Kladov2020-03-196-13/+17
|
* Merge nested use treesAleksey Kladov2020-03-191-20/+52
|
* GeneralizeAleksey Kladov2020-03-192-13/+10
|
* Use match_astAleksey Kladov2020-03-181-10/+13
|
* Merge imports assistAleksey Kladov2020-03-183-25/+162
| | | | Work towards #2220
* SimplifyAleksey Kladov2020-03-131-2/+2
|
* Don't use generic DB where a concrete one will doAleksey Kladov2020-03-131-6/+2
|
* Rerail split_import API onto ASTAleksey Kladov2020-03-061-19/+33
| | | | | The code is more verbose and less efficient now, but should be reusable in add_import context as well
* Unfold groups with single assists into plain assistsKirill Bulatov2020-03-051-6/+1
|
* Remove old find refs infraAleksey Kladov2020-03-041-11/+18
|
* Highlight assist testsAleksey Kladov2020-03-031-46/+46
|
* Fix applicability of inline localAleksey Kladov2020-03-031-4/+26
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-293-12/+12
|
* Fix typoAleksey Kladov2020-02-292-2/+2
|
* More orthogonal API for building pathsAleksey Kladov2020-02-292-11/+18
|
* SimplifyAleksey Kladov2020-02-282-16/+1
|
* Move insert_use util to utilsAleksey Kladov2020-02-282-532/+20
|
* introduce const visibility assistDouglas Campos2020-02-281-4/+9
|
* Refactor string literalsAleksey Kladov2020-02-271-1/+2
|
* Refactor primary IDE APIAleksey Kladov2020-02-266-74/+39
| | | | | | | | | | This introduces the new type -- Semantics. Semantics maps SyntaxNodes to various semantic info, such as type, name resolution or macro expansions. To do so, Semantics maintains a HashMap which maps every node it saw to the file from which the node originated. This is enough to get all the necessary hir bits just from syntax.
* Remove code duplication in testsAleksey Kladov2020-02-261-36/+24
|
* Add `remove_mut` assistAleksey Kladov2020-02-191-0/+32
|
* More manual clippy fixesKirill Bulatov2020-02-182-5/+5
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-183-4/+4
|
* Merge #3108bors[bot]2020-02-171-33/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3108: Magic Completion for `impl Trait for` Associated Items r=matklad a=kdelorey # Summary This PR adds a set of magic completions to auto complete associated trait items (functions/consts/types). ![Associated Trait Impl](https://user-images.githubusercontent.com/2295721/74493144-d8f1af00-4e96-11ea-93a4-82725bf89646.gif) ## Notes Since the assist and completion share the same logic when figuring out the associated items that are missing, a shared utility was created in the `ra_assists::utils` module. Resolves #1046 As this is my first PR to the rust-analyzer project, I'm new to the codebase, feedback welcomed! Co-authored-by: Kevin DeLorey <[email protected]>
| * Formatted changes.Kevin DeLorey2020-02-111-2/+2
| |
| * Fixed warning generated after refactoring.Kevin DeLorey2020-02-111-1/+1
| |
| * Updated the `add_missing_impl_members` to use the shared utility.Kevin DeLorey2020-02-111-33/+14
| |