aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
| * Remove obsolete FIXMELukas Wirth2020-12-171-1/+0
| |
* | Align code_model name with ungrammarAleksey Kladov2020-12-2022-102/+88
| |
* | Merge #6929bors[bot]2020-12-204-3/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | 6929: Handle $_ in mbe r=edwin0cheng a=lnicola Fixes #6926 Co-authored-by: LaurenÈ›iu Nicola <[email protected]>
| * | mbe: treat _ as identLaurențiu Nicola2020-12-204-3/+18
| | |
* | | Merge #6953bors[bot]2020-12-191-0/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6953: Add test_rename_bind_pat r=bjorn3 a=bjorn3 Fixes #2976 Co-authored-by: bjorn3 <[email protected]>
| * | | Add test_rename_bind_patbjorn32020-12-191-0/+35
| | | |
* | | | Merge #6946bors[bot]2020-12-1912-216/+263
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6946: Better fuzzy heuristics r=matklad a=SomeoneToIgnore Continuation of the https://github.com/rust-analyzer/rust-analyzer/pull/6922, mainly created for a test. Turns out our current completions tests were sorting the completions by label, I had to remove that to test the order properly and update this order in a bunch of tests (ergo the changes) Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Fewer allocationsKirill Bulatov2020-12-191-5/+7
| | | |
| * | | Tidy upKirill Bulatov2020-12-192-32/+26
| | | |
| * | | Keep the original completion order in testsKirill Bulatov2020-12-1912-194/+193
| | | |
| * | | Add a slightly better fuzzy search heuristicsKirill Bulatov2020-12-191-10/+62
| | | |
* | | | Make sure that HighlightModifier::ALL is synchronized with enumAleksey Kladov2020-12-196-36/+39
| | | |
* | | | Merge #6948bors[bot]2020-12-191-23/+55
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6948: Add API for mapping `Attr` back to its syntax node r=jonas-schievink a=jonas-schievink This will be useful for emitting diagnostics pertaining to a specific attribute Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Add API for mapping `Attr` back to its syntax nodeJonas Schievink2020-12-191-23/+55
| |/ / /
* | | | Clarify the meaning of no-op highlight tagAleksey Kladov2020-12-194-15/+14
| | | |
* | | | Use more Rustic highlighting specifiersAleksey Kladov2020-12-198-47/+69
|/ / / | | | | | | | | | | | | *Method* works for OO languages, but in rust we can also have associated constants & types, so let's move this to a modifier.
* | | Make `RawAttrs` crate-privateJonas Schievink2020-12-191-2/+2
| | | | | | | | | | | | There should be no need to use this from outside
* | | Remove `Attrs::merge`Jonas Schievink2020-12-191-12/+0
| | | | | | | | | | | | Only the `RawAttrs` version of this is in use
* | | Remove resolved FIXMEJonas Schievink2020-12-191-1/+0
| | |