aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src
Commit message (Collapse)AuthorAgeFilesLines
...
* internal: start new diagnostics APIAleksey Kladov2021-06-133-34/+82
| | | | | | | | | | | | | | | | | | At the moment, this moves only a single diagnostic, but the idea is reafactor the rest to use the same pattern. We are going to have a single file per diagnostic. This file will define diagnostics code, rendering range and fixes, if any. It'll also have all of the tests. This is similar to how we deal with assists. After we refactor all diagnostics to follow this pattern, we'll probably move them to a new `ide_diagnostics` crate. Not that we intentionally want to test all diagnostics on this layer, despite the fact that they are generally emitted in the guts on the compiler. Diagnostics care to much about the end presentation details/fixes to be worth-while "unit" testing. So, we'll unit-test only the primary output of compilation process (types and name res tables), and will use integrated UI tests for diagnostics.
* minor: put a mark backAleksey Kladov2021-06-131-0/+1
|
* cargo fmtMaan20032021-06-131-5/+3
|
* clippy::useless_returnMaan20032021-06-133-4/+4
|
* clippy::redundant_closureMaan20032021-06-132-2/+2
|
* clippy::clone_on_copyMaan20032021-06-133-3/+3
|
* clippy::redudant_borrowMaan20032021-06-1318-51/+51
|
* internal: cross-crate cov-marksAleksey Kladov2021-06-121-0/+2
|
* internal: move diagnostics infra to hirAleksey Kladov2021-06-121-0/+354
|
* Move some hir_ty diagnostics to hirAleksey Kladov2021-06-121-1/+1303
|
* internal: move missing unsafe diagnostic to hirAleksey Kladov2021-06-121-0/+84
|
* internal: move inference diagnostics to hirAleksey Kladov2021-06-121-1/+140
|
* Highlight tuple field accesses correctlyLukas Wirth2021-06-113-4/+7
|
* Merge #9219bors[bot]2021-06-111-2/+2
|\ | | | | | | | | | | | | | | 9219: minor: Replace some AssocItem::containing_trait calls trait_or_trait_impl r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Replace some AssocItem::containing_trait calls trait_or_trait_implLukas Wirth2021-06-111-2/+2
| |
* | Merge #9218bors[bot]2021-06-111-1/+164
|\| | | | | | | | | | | | | | | 9218: Item search now respects trait impl items r=Veykril a=Veykril Fixes #2977 Co-authored-by: Lukas Wirth <[email protected]>
| * Item search now respects trait impl itemsLukas Wirth2021-06-111-1/+164
| |
* | Update ungrammarJonas Schievink2021-06-111-1/+1
| |
* | Populate import maps eagerlyKirill Bulatov2021-06-101-3/+4
| |
* | Don't classify attributes on macro-calls are the macro itselfLukas Wirth2021-06-091-0/+20
|/
* Merge #9191bors[bot]2021-06-092-0/+10
|\ | | | | | | | | | | | | | | 9191: fix: Don't descend MacroCall TokenTree delimiters r=jonas-schievink a=Veykril Fixes #9190 Co-authored-by: Lukas Wirth <[email protected]>
| * Don't descend MacroCall TokenTree delimitersLukas Wirth2021-06-092-0/+10
| |
* | Prefer attr macros in "expand macro recursively"Jonas Schievink2021-06-081-20/+14
|/
* Merge #9169bors[bot]2021-06-072-7/+57
|\ | | | | | | | | | | | | | | | | | | 9169: internal: steps towards attribute macro token mapping r=jonas-schievink a=jonas-schievink This doesn't work yet, but we seem to be getting a bit further along (for example, we now stop highlighting `use` items inside item with attribute macros as if they were written verbatim). bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Attempt to track attr macros during highlightingJonas Schievink2021-06-071-0/+30
| |
| * Make "expand macro" command work with attribute macrosJonas Schievink2021-06-071-7/+27
| |
* | feat: goto def on impl items also goes to the defn in the traitJade2021-06-071-18/+56
| | | | | | | | | | It was trivial to extend this to associated consts/associated types and I just didn't think of it.
* | feat: goto definition on an impl fn goes to that fn in the traitJade2021-06-071-3/+48
|/ | | | | | | e.g. if you have a trait T and `impl T for S` for some struct, if you goto definition on some function name inside the impl, it will go to the definition of that function inside the `trait T` block, rather than the current behaviour of not going anywhere at all.
* Merge #9149bors[bot]2021-06-051-3/+49
|\ | | | | | | | | | | | | | | | | | | 9149: feat: Support goto-definition for include macros input path r=Veykril a=Veykril ![0l6l9iWPNE](https://user-images.githubusercontent.com/3757771/120891155-3fa85800-c607-11eb-9b20-7ac330dceb4b.gif) Fixes #5871 Co-authored-by: Lukas Wirth <[email protected]>
| * Support goto-definition for include macro pathsLukas Wirth2021-06-051-3/+49
| |
* | Prevent renaming of aliases on usagesLukas Wirth2021-06-051-1/+32
|/
* Merge #9138bors[bot]2021-06-041-12/+133
|\ | | | | | | | | | | | | | | | | | | | | | | | | 9138: feat: Implement hover for lints r=Veykril a=Veykril fixes https://github.com/rust-analyzer/rust-analyzer/issues/8857, fixes https://github.com/rust-analyzer/rust-analyzer/issues/3941 ![URXBanNxYe](https://user-images.githubusercontent.com/3757771/120830905-4bd8da80-c55f-11eb-9f55-ff5a321726fa.gif) We also generate the default lints(and lint groups 🎉) instead now by invoking `rustc -W help` and parsing the output from that. Co-authored-by: Lukas Wirth <[email protected]>
| * Replace `-` with `_` in generated lint namesLukas Wirth2021-06-041-6/+4
| |
| * Generate default lint completionsLukas Wirth2021-06-041-15/+60
| |
| * Implement hover for lintsLukas Wirth2021-06-041-6/+84
| |
* | Add function references hover actionLukas Wirth2021-06-041-1/+28
|/
* Cleanup parameter_hint_heuristics inlay hints testLukas Wirth2021-06-041-87/+68
|
* Reorganize inlay_hints testsLukas Wirth2021-06-041-522/+493
|
* Merge #9130bors[bot]2021-06-031-70/+57
|\ | | | | | | | | | | | | | | | | | | | | 9130: Prefix/suffix parameter inlay hint hiding heuristic is more strict r=Veykril a=Veykril Instead of just plainly checking prefix/suffix of the argument string to the parameter name we only check for prefixes and suffixes if they are split apart via an underscore meaning, with the argument `foo`, it will be hidden for the parameter name `foo_bar` but not for `foobar`. bors r+ Closes https://github.com/rust-analyzer/rust-analyzer/issues/8878 Co-authored-by: Lukas Wirth <[email protected]>
| * Prefix/suffix parameter inlay hint hiding heuristic is more strictLukas Wirth2021-06-031-70/+57
| |
* | Allow expand-macro to be invoked anywhere inside a macro callLukas Wirth2021-06-021-3/+3
|/
* Merge #8952bors[bot]2021-05-311-1/+71
|\ | | | | | | | | | | | | | | 8952: add support of impl block for doctest into runnables r=matklad a=bnjjj close #6356 Co-authored-by: Benjamin Coenen <[email protected]>
| * add support of impl block for doctest into runnablesBenjamin Coenen2021-05-241-1/+71
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Merge #8866bors[bot]2021-05-311-58/+70
|\ \ | | | | | | | | | | | | | | | | | | | | | 8866: Update salsa r=matklad a=jonas-schievink This updates salsa to include https://github.com/salsa-rs/salsa/pull/265, and removes all cancellation-related code from rust-analyzer Co-authored-by: Jonas Schievink <[email protected]>
| * | Update salsaJonas Schievink2021-05-271-58/+70
| | |
* | | Diagnose unimplemented built-in macrosJonas Schievink2021-05-301-0/+5
| | |
* | | simplifyLukas Wirth2021-05-281-13/+4
| | |
* | | Merge #9038bors[bot]2021-05-281-0/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-281-0/+15
| |/ /