aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_assists/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8873bors[bot]2021-05-201-2/+6
|\ | | | | | | | | | | | | | | | | | | | | | | 8873: Implement import-granularity guessing r=matklad a=Veykril This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`. We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`. Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870 Co-authored-by: Lukas Tobias Wirth <[email protected]>
| * Replace ImportGranularity::Guess with guessing boolean flagLukas Tobias Wirth2021-05-191-0/+1
| |
| * MergeBehavior -> ImportGranularityLukas Tobias Wirth2021-05-181-2/+5
| |
* | add_explicit_type respects `@` patternsDawer2021-05-191-5/+20
|/
* Extract function assist will add async if requiredJamie Cunliffe2021-05-171-2/+63
| | | | | The extract function assist will check for an AWAIT_EXPR in the body and if found, will add async to the generated function.
* Merge #8845bors[bot]2021-05-161-12/+275
|\ | | | | | | | | | | | | | | 8845: Generate the impl block via generate_trait_impl_text_from_impl r=Veykril a=hi-rustin Try to close https://github.com/rust-analyzer/rust-analyzer/issues/8827 Co-authored-by: hi-rustin <[email protected]>
| * Remove attrshi-rustin2021-05-151-5/+1
| |
| * Address comments and add more testshi-rustin2021-05-151-25/+249
| | | | | | | | | | | | Fix tests Fmt code
| * Generate the impl block via generate_trait_impl_texthi-rustin2021-05-151-2/+45
| |
* | internal: use standard test styleAleksey Kladov2021-05-161-304/+305
| |
* | internal: use mutable trees when filling match armsAleksey Kladov2021-05-161-8/+20
| |
* | minor: use uniform namesAleksey Kladov2021-05-1612-30/+29
| |
* | Merge #8813bors[bot]2021-05-163-2/+30
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 8813: Get some more array lengths! r=lf- a=lf- This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of: * `let a: [u8; 2] = ...` * `let a = b"aaa"` * `let a = [0u8; 4]` I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!). Fixes #2922. Co-authored-by: Jade <[email protected]>
| * Add more tests, refactor array lengths/consteval workJade2021-05-141-0/+28
| | | | | | | | | | | | | | | | | | | | | | Fix #2922: add unknown length as a condition for a type having unknown. Incorporate reviews: * Extract some of the const evaluation workings into functions * Add fixmes on the hacks * Add tests for impls on specific array lengths (these work!!! 😁) * Add tests for const generics (indeed we don't support it yet)
| * Support length for ByteStringsJade2021-05-132-2/+2
| | | | | | | | I am not confident that my added byte string parsing is right.
* | internal: use more mutable APIsAleksey Kladov2021-05-141-18/+16
| |
* | internal: use standard style for testsAleksey Kladov2021-05-141-54/+99
| |
* | internal: rewrite assoc item manipulaion to use mutable treesAleksey Kladov2021-05-143-14/+16
| |
* | Merge #8814bors[bot]2021-05-131-5/+33
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8814: fix: Keep doc comments and outer attrs on "Move module to file" assist r=Veykril a=Jesse-Bakker Fixes #8804 Co-authored-by: Jesse Bakker <[email protected]>
| * | fix: Keep doc comments and outer attrs on "Move module to file" assistJesse Bakker2021-05-131-5/+33
| | |
* | | Merge #8820bors[bot]2021-05-131-0/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8820: fix: Return absolute paths in find_path if crate start is ambiguous r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Return absolute paths in find_path if crate start is ambiguousLukas Wirth2021-05-131-0/+26
| | | |
* | | | Corrected minor typo on line 20mixio2021-05-131-1/+1
| |_|/ |/| |
* | | Merge #8802bors[bot]2021-05-121-9/+126
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8802: Keep comments and attrs when extracting struct from enum variant r=Veykril a=DropDemBits Fixes #6730 Still unsure if existing visibilities of fields should be forced to pub (which is what was previously done), or if it's okay to keep it in the extracted struct. Co-authored-by: DropDemBits <[email protected]>
| * | Keep comments and attrs when extracting struct from enum variantDropDemBits2021-05-111-9/+126
| | |
* | | Merge #8800bors[bot]2021-05-111-16/+34
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 8800: feat: Make "pull assignments up" assist work in more cases r=Jesse-Bakker a=Jesse-Bakker Fixes #8771 Co-authored-by: Jesse Bakker <[email protected]>
| * | Make "pull assignments up" assist work in more casesJesse Bakker2021-05-111-16/+34
| | |
* | | Give MergeBehaviour variants better namesLukas Wirth2021-05-102-3/+3
| |/ |/|
* | simplifyAleksey Kladov2021-05-101-12/+9
| |
* | internal: introduce `ast::make::ext` module with common shortcutsAleksey Kladov2021-05-0911-70/+48
| | | | | | | | | | | | | | | | | | | | There's a tension between keeping a well-architectured minimal orthogonal set of constructs, and providing convenience functions. Relieve this pressure by introducing an dedicated module for non-orthogonal shortcuts. This is inspired by the django.shortcuts module which serves a similar purpose architecturally.
* | internal: fix make APIAleksey Kladov2021-05-093-36/+18
| |
* | internal: rewrite **Repalce impl Trait** assist to mutable syntax treesAleksey Kladov2021-05-091-11/+13
| |
* | cleanupsAleksey Kladov2021-05-093-5/+6
| |
* | cleanupsAleksey Kladov2021-05-093-15/+23
| |
* | minor: fix test styleAleksey Kladov2021-05-091-55/+31
| |
* | Merge #8773bors[bot]2021-05-081-1/+1
|\ \ | |/ |/| | | | | | | | | | | 8773: fix: Correctly support SelfType when searching for usages r=Veykril a=Veykril Fixes #7443 Co-authored-by: Lukas Wirth <[email protected]>
| * Correctly support SelfType when searching for usagesLukas Wirth2021-05-081-1/+1
| |
* | feat: add "mentoring instructions" test for pull up assistAleksey Kladov2021-05-081-1/+32
| |
* | internal: pull_assignment_up uses mutable treesAleksey Kladov2021-05-081-69/+68
| |
* | minor: add missing testAleksey Kladov2021-05-081-16/+36
|/
* internal: remove one more usage of SyntaxRewriterAleksey Kladov2021-05-081-56/+46
|
* internal: remove one more syntax rewriterAleksey Kladov2021-05-082-64/+34
|
* Merge #8711bors[bot]2021-05-043-14/+326
|\ | | | | | | | | | | | | | | | | | | 8711: Only resolve selected assist r=matklad a=SomeoneToIgnore Part of https://github.com/rust-analyzer/rust-analyzer/issues/8700 Now resolves only the assist that was selected out of the list, while before the whole assist list was resolved despite a single popup selection. Co-authored-by: Kirill Bulatov <[email protected]>
| * Index retrieval fixKirill Bulatov2021-05-031-1/+1
| |
| * Small fixesKirill Bulatov2021-05-031-2/+2
| |
| * Tests addedKirill Bulatov2021-05-031-1/+242
| |
| * Add docs and use better namingKirill Bulatov2021-05-031-5/+20
| |
| * Resolve single assist onlyKirill Bulatov2021-05-031-3/+36
| |
| * Add a way to resolve certain assistsKirill Bulatov2021-05-033-16/+39
| |
* | internal: remove one more usage of the rewriterAleksey Kladov2021-05-042-23/+49
| |