aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #9027bors[bot]2021-05-296-359/+860
|\ | | | | | | | | | | | | | | | | | | | | 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-274-28/+150
| |
* | Merge #9041bors[bot]2021-05-289-248/+328
|\ \ | | | | | | | | | | | | | | | | | | | | | 9041: internal: Implement prev sibling determination for `CompletionContext ` r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | 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
| | | |
* | | | Merge #9037bors[bot]2021-05-281-17/+17
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 9037: minor: Move runnable lenses below attributes r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Move runnable lenses below attributesLukas Wirth2021-05-281-17/+17
|/ / /
* | | Merge #9036bors[bot]2021-05-281-7/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 9036: Remove undocumented `TextDocumentSyncKind::Full` support r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * | 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
| |
* | Merge #9024bors[bot]2021-05-276-17/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 9024: internal: Don't store supertraits in ItemTree r=jonas-schievink a=lnicola Closes #9010 Co-authored-by: Laurențiu Nicola <[email protected]>
| * | 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 #9022bors[bot]2021-05-271-1/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9022: internal: disable debuginfo afterall r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: disable debuginfo afterallAleksey Kladov2021-05-271-1/+5
| | | |
* | | | Merge #9021bors[bot]2021-05-271-6/+12
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 9021: internal: explain the motivation behind early configuration r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: explain the motivation behind early configurationAleksey Kladov2021-05-271-6/+12
|/ / /
* | | 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
| | | |
* | | | Merge #9019bors[bot]2021-05-277-36/+37
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 9019: internal: simplify r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | simplifyLukas Wirth2021-05-277-36/+37
| | | |