aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Diagnose unimplemented built-in macrosJonas Schievink2021-05-306-18/+87
|
* Merge #9059bors[bot]2021-05-291-2/+1
|\ | | | | | | | | | | | | | | | | | | 9059: fix: Only complete derive proc macros in `#[derive]` r=jonas-schievink a=jonas-schievink HIR now gives them `MacroKind::Derive` instead of `MacroKind::ProcMacro` bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Only complete derive proc macros in `#[derive]`Jonas Schievink2021-05-291-2/+1
|/
* Merge #9057bors[bot]2021-05-295-10/+34
|\ | | | | | | | | | | | | | | | | | | 9057: internal: Thread proc-macro types through the HIR r=jonas-schievink a=jonas-schievink Should help with completion of derives. cc @Veykril bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Thread proc-macro types through the HIRJonas Schievink2021-05-295-10/+34
|/
* Merge #9050bors[bot]2021-05-296-4/+65
|\ | | | | | | | | | | | | | | 9050: hir_ty: use async ret type for inference inside async bodies r=flodiebold a=cynecx Fixes #9004. Co-authored-by: cynecx <[email protected]>
| * hir_ty: use async ret type for inference inside async bodiescynecx2021-05-296-4/+65
| |
* | Merge #9054bors[bot]2021-05-291-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 9054: fix: fix `matches!` macro on nightly toolchains r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9043 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Treat `pat_param` like `pat` fragmentsJonas Schievink2021-05-291-1/+1
| |/
* | Merge #9051bors[bot]2021-05-293-13/+13
|\ \ | |/ |/| | | | | | | | | | | | | | | 9051: Fix incorrect setting descriptions r=lnicola a=sclu1034 Descriptions for diagnostic warning hint and info display were swapped. Fixes #8485. Co-authored-by: Lucas Schwiderski <[email protected]>
| * Fix incorrect setting descriptionsLucas Schwiderski2021-05-293-13/+13
| | | | | | | | | | | | | | | | Descriptions for diagnostic warning hint and info display were swapped. Fixes #8485. Signed-off-by: Lucas Schwiderski <[email protected]>
* | Merge #9048bors[bot]2021-05-293-30/+67
|\ \ | | | | | | | | | | | | | | | | | | | | | 9048: Add some lint completion tests r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Add some lint completion testsLukas Wirth2021-05-293-30/+67
| |/
* | Merge #9046bors[bot]2021-05-293-23/+35
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 9046: fix: make `include!` etc. work in expression position r=jonas-schievink a=jonas-schievink This PR removes determination of fragment kinds from the eager macro implementations. The fragment kind is always determined by the syntax position in which a macro is invoked, not by the macro implementation, even for eager macros. This makes `include!` work in expression position, and should have the same effect for all macros that may be used in different positions. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Remove fragment kind knowledge from builtin macrosJonas Schievink2021-05-293-23/+35
|/
* 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
| |