aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge #7018bors[bot]2020-12-231-61/+58
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7018: Cleanup handle_code_action r=matklad a=matklad bors r+ đŸ¤– Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Make code more directAleksey Kladov2020-12-231-27/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Push control flow outwards, as per https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#preconditions * Don't re-do the work, pass-in the arguments
| * | | | Make code more understandableAleksey Kladov2020-12-231-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid mutation of snapshot's config -- that's spooky action at a distance. Instead, copy it over to a local variable. This points out a minor architecture problem, which we won't fix right away. Various `ide`-level config structs, like `AssistConfig`, are geared towards one-shot use when calling a specific methods. On the other hand, the large `Config` struct in `rust-analyzer` is a long-term config store. The fact that `Config` stores `AssistConfig` is accidental -- a better design would probably be to just store `ConfigData` inside `Config` and create various `Config`s on the fly out of it.
| * | | | Rename for clarityAleksey Kladov2020-12-231-46/+46
| |/ / /
* | | | Merge #7010bors[bot]2020-12-2310-4/+168
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7010: Update ungrammar for const block patterns r=matklad a=Veykril Fixes #6848 Adds const blocks and const block patterns to the AST and parses them. Blocked on https://github.com/rust-analyzer/ungrammar/pull/17/, will merge that PR there once this one gets the OK so I can remove the local ungrammar dependency path and fix the Cargo.lock. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Remove local ungrammar dependencyLukas Wirth2020-12-231-3/+1
| | | | |
| * | | | Parse const effect blockLukas Wirth2020-12-234-2/+38
| | | | |
| * | | | Parse ConstBlockPatLukas Wirth2020-12-233-0/+96
| | | | |
| * | | | Update ungrammar for const block patternsLukas Wirth2020-12-233-2/+36
| | | | |
* | | | | Merge #7017bors[bot]2020-12-231-1/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7017: Document `make` module design r=matklad a=matklad bors r+ đŸ¤– Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Document `make` module designAleksey Kladov2020-12-231-1/+7
| | |/ / / | |/| | |
* | | | | Merge #6960bors[bot]2020-12-232-1/+55
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6960: Show enum variant on Self qualified paths r=matklad a=Veykril Fixes first part of #6549 Fixes #6550 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Show enum variant completions for ref scrutineeLukas Wirth2020-12-201-1/+26
| | | | |
| * | | | Show enum variant on Self qualified pathsLukas Wirth2020-12-201-0/+29
| | |_|/ | |/| |
* | | | Disable unaligned feature for the object crateLaurențiu Nicola2020-12-231-1/+1
| | | |
* | | | Don't think that /submod.rs is /mod.rsAleksey Kladov2020-12-232-5/+5
| | | |
* | | | Document, how to view config in effectAleksey Kladov2020-12-231-2/+2
| | | |
* | | | Merge #7000bors[bot]2020-12-235-28/+52
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7000: Store invocation site for eager macros r=edwin0cheng a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6992 r? @edwin0cheng I'm not sure if this is totally correct, it looks like we create **two** `EagerCallLoc`s per macro invocation, one for the arguments (?), and one for the actual macro call. I gave both the same `AstId`, hopefully that's correct. Co-authored-by: Jonas Schievink <[email protected]>
| * | | Store invocation site for eager macrosJonas Schievink2020-12-225-28/+52
| | |/ | |/|
* | | Merge #6964bors[bot]2020-12-228-74/+363
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6964: Add full pattern completions for Struct and Variant patterns r=matklad a=Veykril Just gonna call it full pattern completion as pattern completion is already implemented in a sense by showing idents in pattern position. What this does is basically complete struct and variant patterns where applicable(function params, let statements and refutable pattern locations). This does not replace just completing the corresponding idents of the structs and variants, instead two completions are shown for these, a completion for the ident itself and a completion for the pattern(if the pattern make sense to be used that is). I figured in some cases one would rather type out the pattern manually if it has a lot of fields but you only care about one since this completion would cause one more work in the end since you would have to delete all the extra matched fields again. These completions are tagged as `CompletionKind::Snippet`, not sure if that is the right one here. <details> <summary>some gifs</summary> ![dx2lxgzhj3](https://user-images.githubusercontent.com/3757771/102719967-6987ef80-42f1-11eb-8ae0-8aff53777860.gif) ![EP2E7sJLkB](https://user-images.githubusercontent.com/3757771/102785777-c7264580-439e-11eb-8a64-f142e19fb65b.gif) ![JMNHHWknr9](https://user-images.githubusercontent.com/3757771/102785796-d1e0da80-439e-11eb-934b-218ada31b51c.gif) </details> Co-authored-by: Lukas Wirth <[email protected]>
| * | | Reduce some more code duplicationLukas Wirth2020-12-225-94/+76
| | | |
| * | | Insert snippet positions after fields names in record patternsLukas Wirth2020-12-212-6/+6
| | | |
| * | | Create non-exhaustive patterns for non_exhaustive attributed itemsLukas Wirth2020-12-201-3/+5
| | | |
| * | | Reduce code duplication in pattern completionLukas Wirth2020-12-201-34/+29
| | | |
| * | | Emit snippets for struct pattern completion if enabledLukas Wirth2020-12-202-15/+36
| | | |
| * | | Add completions for patternsLukas Wirth2020-12-206-26/+315
| | |/ | |/|
* | | Merge #7005bors[bot]2020-12-221-103/+66
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7005: Improve extract_module_to_file assist r=matklad a=matklad bors r+ đŸ¤– Co-authored-by: Aleksey Kladov <[email protected]>
| * | | 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 #6993bors[bot]2020-12-221-17/+17
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6993: Clean up descriptions for settings r=matklad a=rherrmann Use two consecutive newlines (`\n\n`) to actually continue text on a new line. Use proper markup to reference related settings. Consistently format references to files, command line arguments, etc. as `code`. Format mentions of UI elements in _italic_. Fix typos, add missing full-stops, add missing default values. Co-authored-by: RĂ¼diger Herrmann <[email protected]>
| * | Clean up descriptions for settingsRĂ¼diger Herrmann2020-12-221-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use two consecutive newlines (`\n\n`) to actually continue text on a new line. Use proper markup to reference related settings. Consistently format references to files, editor commands, command line arguments, files, etc. as `code`. Fix typos, add missing full-stops, add missing default values.
* | | Merge #6746bors[bot]2020-12-229-18/+251
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | |
| * | Update test diagnostics in ideDaiki Ihara2020-12-211-0/+1
| | |
| * | Add initial_contents field for CreateFileDaiki Ihara2020-12-215-50/+47
| | |
| * | 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
* | | Merge #6982bors[bot]2020-12-212-1/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6982: Remove parentheses when inverting `!(cond)` r=matklad a=Jesse-Bakker Followup to #6894 When inverting a composite condition twice, the parentheses were left. This also removes those unnecessary parentheses when applying the invert-if assist. Co-authored-by: Jesse Bakker <[email protected]>
| * | | Remove parentheses when inverting `!(cond)`Jesse Bakker2020-12-212-1/+16
| | | |
* | | | Acquire original text range when searching for referencesLukas Wirth2020-12-211-6/+42
| | | |
* | | | Filter out empty rustc spansJonas Schievink2020-12-211-0/+4
|/ / /
* | | Merge #6965bors[bot]2020-12-217-147/+199
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6965: Properly attach attributes to Param instead of parent ParamList r=matklad a=Veykril Fixes #2783, fixes #2781 The problem with `let _a = [0,#[cfg(feature = "L")]0];` has already been fixed some time ago it seems: <details> <summary>Syntax Tree for the const item</summary> ``` [email protected] [email protected] "let" [email protected] " " [email protected] [email protected] [email protected] "_a" [email protected] " " [email protected] "=" [email protected] " " [email protected] [email protected] "[" [email protected] [email protected] "0" [email protected] "," [email protected] [email protected] [email protected] "#" [email protected] "[" [email protected] [email protected] [email protected] [email protected] "cfg" [email protected] [email protected] "(" [email protected] "feature" [email protected] " " [email protected] "=" [email protected] " " [email protected] "\"L\"" [email protected] ")" [email protected] "]" [email protected] "0" [email protected] "]" [email protected] ";" ``` </details> Co-authored-by: Lukas Wirth <[email protected]>
| * | | Parse attributes in tuple expressionsLukas Wirth2020-12-203-3/+56
| | | |
| * | | Properly attach attributes to Param instead of parent ParamListLukas Wirth2020-12-204-144/+143
| | |/ | |/|
* | | Merge #6967bors[bot]2020-12-214-9/+63
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 6967: Correctly parse legacy trait objects with leading ForType r=matklad a=Veykril Fixes #1422 Co-authored-by: Lukas Wirth <[email protected]>
| * | Properly parse legacy trait objects with leading ForTypeLukas Wirth2020-12-204-9/+63
| |/
* | Merge #6959bors[bot]2020-12-203-2/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 6959: Use pattern_single instead of pattern in mbe pat r=jonas-schievink a=edwin0cheng Fix #6882 Co-authored-by: Edwin Cheng <[email protected]>
| * | Use pattern_single instead of pattern in mbe patEdwin Cheng2020-12-203-2/+14
| |/
* | Merge #6921bors[bot]2020-12-205-19/+74
|\ \ | |/ |/| | | | | | | | | | | 6921: Higher-ranked trait bounds for where clauses r=flodiebold a=Veykril There is a slight problem with this which is also noted in a FIXME now but `LifetimeParameters` of these ForLifetime where clauses allocate the lifetimes in the corresponding arena as if they were lifetimes of the item itself and not just the clause they belong to. I wasn't entirely sure what I could do about this but given nothing really uses lifetimes like that currently I figured it might be fine? Open to suggestions for that problem. Co-authored-by: Lukas Wirth <[email protected]>
| * Higher-ranked trait bounds for where clausesLukas Wirth2020-12-174-18/+74
| |