aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect setting descriptionsLucas Schwiderski2021-05-291-5/+5
| | | | | | | | Descriptions for diagnostic warning hint and info display were swapped. Fixes #8485. Signed-off-by: Lucas Schwiderski <[email protected]>
* Merge #9027bors[bot]2021-05-295-359/+859
|\ | | | | | | | | | | | | | | | | | | | | 9027: feat: Attribute completion is context aware r=Veykril a=Veykril This splits off the `lint` and `derive` completions into their own submodules of `attribute`. The idea is to create a lazy global hashmap that maps `SyntaxKind` to attribute names(`&[&str]`) in which we index with the syntax kind of the "thing" we are attributing giving us the attributes back that are valid for this kind. Then we use this name to do a binary search on the attribute list to fetch and build the corresponding completion item. Co-authored-by: Lukas Wirth <[email protected]>
| * simplifyLukas Wirth2021-05-293-85/+92
| |
| * Add another attribute completion testLukas Wirth2021-05-281-5/+20
| |
| * Add attribute completion testsLukas Wirth2021-05-281-8/+399
| |
| * tt muncher timeLukas Wirth2021-05-273-27/+57
| |
| * Split attribute completion module into attribute, derive and lint modulesLukas Wirth2021-05-273-366/+302
| |
| * Attribute completion is context awareLukas Wirth2021-05-273-28/+149
| |
* | More completion pattern testsLukas Wirth2021-05-282-86/+109
| |
* | Implement prev sibling determination for `CompletionContext`Lukas Wirth2021-05-283-54/+114
| |
* | simplifyLukas Wirth2021-05-289-143/+140
| |
* | Merge #9028bors[bot]2021-05-283-51/+47
|\ \ | | | | | | | | | | | | | | | | | | | | | 9028: only advertise range formatting support if enabled r=Veykril a=euclio Fixes #9009. Co-authored-by: Andy Russell <[email protected]>
| * | only advertise range formatting support if enabledAndy Russell2021-05-273-51/+47
| |/
* | Merge #9040bors[bot]2021-05-281-1/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 9040: Don't label derive macros with their banged_name r=Veykril a=Veykril cc https://github.com/rust-analyzer/rust-analyzer/issues/7072#issuecomment-850396203 This doesn't fix it non builtin derives yet I think cause of a FIXME somewhere that doesn't categorize proc-macro derives as derives yet bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't label derive macros with their banged_nameLukas Wirth2021-05-281-1/+5
| | |
* | | Merge #9038bors[bot]2021-05-282-0/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9038: Folding range for return types r=Veykril a=MozarellaMan For issue #8957 ![return type fold](https://user-images.githubusercontent.com/48062697/119979082-5c62e100-bfb2-11eb-9729-1dea1ce74de1.gif) Co-authored-by: Ayomide Bamidele <[email protected]>
| * | | Test for correct amount of emitted foldsAyomide Bamidele2021-05-281-0/+2
| | | |
| * | | Folding range for return typesAyomide Bamidele2021-05-282-0/+16
| | | |
* | | | Move runnable lenses below attributesLukas Wirth2021-05-281-17/+17
| |/ / |/| |
* | | Remove undocumented `TextDocumentSyncKind::Full` supportLaurențiu Nicola2021-05-281-7/+1
|/ /
* | Merge #9033bors[bot]2021-05-282-4/+33
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9033: Complete keywords in (Assoc)ItemList with leading attribute r=Veykril a=Veykril Fixes #7673 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Complete keywords in (Assoc)ItemList with leading attributeLukas Wirth2021-05-282-4/+33
| | |
* | | Merge #9032bors[bot]2021-05-283-14/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | 9032: Only complete modules in empty use-statements r=Veykril a=Veykril bors r+ Part of #8518 Co-authored-by: Lukas Wirth <[email protected]>
| * | Only complete modules in empty use-statementsLukas Wirth2021-05-283-14/+27
| |/
* | Merge #9029bors[bot]2021-05-273-45/+125
|\ \ | |/ |/| | | | | | | | | | | 9029: minor: test that `ItemTree` makes `hir_def` queries syntax-independent r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Test that `ItemTree` works as intendedJonas Schievink2021-05-271-1/+73
| |
| * Move hir_ty incremental test to its own fileJonas Schievink2021-05-272-44/+52
| |
* | Merge #9026bors[bot]2021-05-274-9/+58
|\ \ | |/ |/| | | | | | | | | | | 9026: Complete modules in assoc item lists r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Complete modules in item listsLukas Wirth2021-05-273-4/+45
| |
| * Complete modules in assoc item listsLukas Wirth2021-05-273-5/+13
| |
* | Merge #9020bors[bot]2021-05-277-134/+198
|\| | | | | | | | | | | | | | | | | 9020: fix: Don't complete non-macro item paths in impls and modules r=Veykril a=Veykril Part of #8518 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Cleanup `ImmediateLocation` determinationLukas Wirth2021-05-275-115/+132
| |
| * Don't complete non-macro item paths in impls and modulesLukas Wirth2021-05-276-29/+76
| |
* | Don't store supertraits in ItemTreeLaurențiu Nicola2021-05-276-17/+3
| |
* | Merge #8997bors[bot]2021-05-2712-241/+351
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8997: internal: stop expanding UseTrees during ItemTree lowering r=jonas-schievink a=jonas-schievink Closes https://github.com/rust-analyzer/rust-analyzer/issues/8908 Messy diff, but `ItemTree` lowering got simpler, since we now have a strict 1-to-1 mapping between `ast::Item` and `ModItem`. The most messy part is mapping a single `UseTree` back to its `ast::UseTree` counterpart for diagnostics, but I think the ad-hoc source map built during lowering does the job. Co-authored-by: Jonas Schievink <[email protected]>
| * | Drop `ignore` from doctestsJonas Schievink2021-05-271-3/+3
| | |
| * | Reduce memory usage a bitJonas Schievink2021-05-262-9/+14
| | |
| * | Clean up ItemTree lowering now that it's 1:1Jonas Schievink2021-05-261-53/+26
| | |
| * | Stop expanding UseTrees during ItemTree loweringJonas Schievink2021-05-2612-188/+320
| | |
* | | Merge #9005bors[bot]2021-05-273-6/+76
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 9005: internal: Document semantic token tags r=matklad a=Veykril Closes #6457 Co-authored-by: Lukas Wirth <[email protected]>
| * | Document semantic token tagsLukas Wirth2021-05-263-6/+76
| | |
* | | simplifyLukas Wirth2021-05-277-36/+37
| | |
* | | simplifyLukas Wirth2021-05-272-18/+10
| | |
* | | Collapse more CompletionContext booleans into enumsLukas Wirth2021-05-276-98/+133
| | |
* | | Merge #9017bors[bot]2021-05-271-11/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9017: internal: Reduce the number of traits passed through chalk during applicable trait lookup r=SomeoneToIgnore a=SomeoneToIgnore Inherent traits can be omitted before trait solving, presumably slightly helping https://github.com/rust-analyzer/rust-analyzer/issues/7542 and slightly simplifying the code. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Exclude inherent traits more eagerlyKirill Bulatov2021-05-271-11/+8
| | | |
* | | | Set `record_pat_syntax` more precisely in CompletionContextLukas Wirth2021-05-263-41/+58
|/ / /
* | | Merge #9015bors[bot]2021-05-264-80/+93
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9015: Merge pattern completion related bools into an enum r=Veykril a=Veykril The two bools can never both be set so this is basically just a tri-state enum. bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Merge pattern completion related bools into an enumLukas Wirth2021-05-264-80/+93
| | | |
* | | | Merge #9012bors[bot]2021-05-261-21/+29
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 9012: feat: add tab stops for keyword completions r=matklad a=eduardocanellas Add tab stops for all the keywords that I judged fit. I also introduced some line breaks and spaces, following the pattern I saw in the `postfix` module. Co-authored-by: Eduardo Canellas <[email protected]>