aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Attribute completion is context awareLukas Wirth2021-05-273-28/+149
|
* 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]>
| * | | feat: add tab stops for keyword completionsEduardo Canellas2021-05-261-21/+29
| | | |
* | | | simplifyLukas Wirth2021-05-264-68/+44
|/ / /
* | | Merge #9008bors[bot]2021-05-261-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9008: fix: remove undesired completions from trait/impl blocks r=Veykril a=eduardocanellas Related to #8518 Co-authored-by: Eduardo Canellas <[email protected]>
| * | | fix: remove undesired completions from trait/impl blocksEduardo Canellas2021-05-261-0/+2
| |/ /
* | | Merge #9007bors[bot]2021-05-267-27/+22
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 9007: Internal: `clippy::redundant_clone` fixes r=lnicola a=lnicola bors r+ Co-authored-by: Laurențiu Nicola <[email protected]>
| * | clippy::redundant_clone fixesLaurențiu Nicola2021-05-267-27/+22
| | |
* | | Merge #9003bors[bot]2021-05-262-0/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9003: minor: Document semantic token modifiers r=Veykril a=Veykril Part of #6457 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Document semantic token modifiersLukas Wirth2021-05-262-0/+26
| | | |
* | | | Merge #9002bors[bot]2021-05-261-35/+31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9002: Move annotations below item attributes r=Veykril a=Veykril This moves annotations/code lenses below attributes in items, bringing them inline with functions where this is already the case. This is done by changing the annotations covering range to just the name node's range which is also more inline with what the lsp expects which is that the range should ideally only cover a single line. Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9000 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Move annotations below item attributesLukas Wirth2021-05-261-35/+31
| |/ / /
* | | | Merge #8996bors[bot]2021-05-263-8/+25
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8996: Fix bug where library functions were not highlighted as such r=arzg a=arzg Sorry about forgetting to test this in my last PR. Co-authored-by: Aramis Razzaghipour <[email protected]>
| * | | Fix bug where library functions were not highlighted as suchAramis Razzaghipour2021-05-263-8/+25
| | |/ | |/|
* | | Merge #8973bors[bot]2021-05-2524-676/+693
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8973: internal: move diagnostics to hir r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: move diagnostics to hirAleksey Kladov2021-05-2524-676/+693
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea here is to eventually get rid of `dyn Diagnostic` and `DiagnosticSink` infrastructure altogether, and just have a `enum hir::Diagnostic` instead. The problem with `dyn Diagnostic` is that it is defined in the lowest level of the stack (hir_expand), but is used by the highest level (ide). As a first step, we free hir_expand and hir_def from `dyn Diagnostic` and kick the can up to `hir_ty`, as an intermediate state. The plan is then to move DiagnosticSink similarly to the hir crate, and, as final third step, remove its usage from the ide. One currently unsolved problem is testing. You can notice that the test which checks precise diagnostic ranges, unresolved_import_in_use_tree, was moved to the ide layer. Logically, only IDE should have the infra to render a specific range. At the same time, the range is determined with the data produced in hir_def and hir crates, so this layering is rather unfortunate. Working on hir_def shouldn't require compiling `ide` for testing.
* | | | Merge #8993bors[bot]2021-05-252-11/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8993: fix: don't show pd/ppd completions where it shouldn't be r=flodiebold a=eduardocanellas Closes #8992 Co-authored-by: Eduardo Canellas <[email protected]>
| * | | | fix: don't show pd/ppd completions where it shouldn't beEduardo Canellas2021-05-252-11/+5
| | | | |
* | | | | Merge #8994bors[bot]2021-05-251-1/+5
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8994: Check for subdirs in vfs loader exclusions. r=matklad a=ammkrn The current logic used to transfer global_excludes into vfs exclusions only transfers global_excludes that are the parent of an item in dirs.include. This commit additionally adds an item from global_exclude to the vfs exclusions if the global_exclude is a child of an included item. Co-authored-by: ammkrn <[email protected]>
| * | | | Check for subdirs in vfs loader exclusions.ammkrn2021-05-251-1/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current logic used to transfer global_excludes into vfs exclusions only transfers global_excludes that are the parent of an item in dirs.include. This commit additionally adds an item from global_exclude to the vfs exclusions if the global_exclude is a child of an included item.
* / / / Consider trait to be in scope for trait-implLukas Wirth2021-05-253-13/+57
|/ / /
* | | Merge #8990bors[bot]2021-05-251-2/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8990: feat: Also do goto implementation on assoc consts r=lnicola a=lf- I forgot to put this into #8988, sorry. Goto implementation on a const on the trait will go to the implementations with their respective definitions of the const, if present. Co-authored-by: Jade <[email protected]>
| * | | Also do goto implementation on assoc constsJade2021-05-251-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I forgot to put this into #8988, sorry. Goto implementation on a const on the trait will go to the implementations with their respective definitions of the const, if present.
* | | | Merge #8987bors[bot]2021-05-253-16/+43
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 8987: Fix lowering of FnOnce() without return type r=flodiebold a=flodiebold This should result in an implicit `-> ()`, not leaving out the binding. Co-authored-by: Florian Diebold <[email protected]>
| * | | Hide `-> ()` in Fn traitsFlorian Diebold2021-05-252-5/+7
| | | |
| * | | Fix lowering of FnOnce() without return typeFlorian Diebold2021-05-252-17/+42
| | | | | | | | | | | | | | | | This should result in an implicit `-> ()`, not leaving out the binding.
* | | | Merge #8988bors[bot]2021-05-251-1/+45
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8988: feat: go to implementation on trait functions r=matklad a=lf- Fix #8537. GIF: ![output](https://user-images.githubusercontent.com/6652840/119501981-45a45c00-bd1e-11eb-8336-9145f2888643.gif) Co-authored-by: Jade <[email protected]>
| * | | | feat: go to implementation on trait functionsJade2021-05-251-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix #8537. GIF: https://user-images.githubusercontent.com/6652840/119501981-45a45c00-bd1e-11eb-8336-9145f2888643.gif