Commit Graph

15218 Commits

Author SHA1 Message Date
Christofer Nolander
8e5b318d99 Cleanup auto-import ordering
Addresses issues raised by @Veykril in #12333
2022-05-28 11:32:07 +02:00
bors
6c9fc4fec2 Auto merge of #12402 - Veykril:feat-docs, r=Veykril
minor: Freshen up goto feature docs

Fixes https://github.com/rust-lang/rust-analyzer/issues/2541
2022-05-27 13:47:56 +00:00
Lukas Wirth
86576072ab minor: Freshen up goto feature docs 2022-05-27 15:47:31 +02:00
bors
bd06902f90 Auto merge of #12395 - feniljain:fix_bugs, r=Veykril
fix: f32 and f64 representation during lowering

should fix #12380
2022-05-27 12:44:08 +00:00
bors
145bad473d Auto merge of #12341 - vemoo:exclude_dirs, r=Veykril
make `files.excludeDirs` work

There's a small issue because if all projects are excluded, this: 01d412f4d7/crates/rust-analyzer/src/main_loop.rs (L114) will be shown.
I thought about not showing it if `files.excludeDirs` is set, but that is not necessarily correct.

Fixes #7755
2022-05-27 12:35:48 +00:00
feniljain
1f4870ff1c fix: f32 and f64 representation during lowering 2022-05-26 20:03:05 +05:30
bors
37c7f3c4cf Auto merge of #12393 - Veykril:hir-def, r=Veykril
internal: Remove `Interned` usage from nameres collector
2022-05-26 11:01:08 +00:00
Lukas Wirth
7913ae69b9 internal: Remove Interned usage from nameres collector 2022-05-26 12:59:57 +02:00
Amos Wenger
c06c4f9682 Make test pass 2022-05-25 18:31:08 +02:00
Amos Wenger
05563805b1 Add test for #12372 (generate enum variant in different file) 2022-05-25 18:18:08 +02:00
Amos Wenger
89e27ed0b9 Generate variant: insert code in file with enum definition
Closes #12372
2022-05-25 16:43:15 +02:00
Lukas Wirth
5410ace1fe fix: Clear native diagnostics for files when they are deleted 2022-05-25 15:47:41 +02:00
Lukas Wirth
f02c915eb5 internal: Make autoclosing angle brackets configurable, disabled by default 2022-05-25 12:42:07 +02:00
bors
d7c147406e Auto merge of #12377 - Veykril:logs, r=Veykril
minor: log build script invocations
2022-05-24 21:10:32 +00:00
Lukas Wirth
7274a48657 minor: log build script invocations 2022-05-24 22:56:49 +02:00
Lukas Wirth
86d1d9067e fix: Insert whitespace into trait-impl completions when coming from macros 2022-05-24 22:56:33 +02:00
Lukas Wirth
6f006b7524 Simplify 2022-05-24 21:58:47 +02:00
Lukas Wirth
6a8b8a6039 internal: Refactor our record pat/expr handling in completion context 2022-05-24 13:24:36 +02:00
Lukas Wirth
697ade6f8d internal: Simplify DotAccess representation in completions 2022-05-24 11:54:50 +02:00
andylizi
e34ae760f0
add test for macro expand formatting 2022-05-24 12:45:58 +08:00
andylizi
ebf8b1a96e
ide: insert whitespaces surrounding _ in macro expansion 2022-05-24 07:54:43 +08:00
bors
402dba8d04 Auto merge of #12360 - Veykril:completion, r=Veykril
fix: Fix completions not working after attributes

Closes https://github.com/rust-lang/rust-analyzer/issues/12259
2022-05-23 15:24:10 +00:00
Lukas Wirth
2aa22730f1 fix: Fix completions not working after attributes 2022-05-23 17:22:48 +02:00
Lukas Wirth
9f6d99c6bd minor: Simplify syntax-highlighting macro checks 2022-05-23 17:03:19 +02:00
bors
db9930b986 Auto merge of #12357 - Veykril:find-ref-macro, r=Veykril
fix: When reference searching macro inputs, don't search everything that was downmapped

Fixes https://github.com/rust-lang/rust-analyzer/issues/11668
2022-05-23 14:12:35 +00:00
Lukas Wirth
377c9247e6 fix: When hovering macro inputs, don't show everything that was downmapped 2022-05-23 16:11:36 +02:00
Lukas Wirth
ad537be194 fix: When reference searching macro inputs, don't search everything that was downmapped 2022-05-23 16:09:56 +02:00
bors
238253c22d Auto merge of #12355 - ruabmbua:fix-inference-pattern-wildcards, r=flodiebold
Fix inference when pattern matching a tuple field with a wildcard

This should fix the following issue:  https://github.com/rust-lang/rust-analyzer/issues/12331

* Replaced the `err_ty` in `infer_pat()` with a new type variable.
* Had to change the iterator code a bit, to get around multiple mutable borrows of `self` in `infer_pat()`.
Also added a test
* Also added a test
2022-05-23 10:38:19 +00:00
Roland Ruckerbauer
86bb27f1a4 Fix inference when pattern matching a tuple field with a wildcard. 2022-05-23 12:24:54 +02:00
DQ
f3a5475082
Keep the other is in reload.rs docs 2022-05-23 10:29:03 +02:00
DQ
914ff6a395
Fix typo in new reload.rs docs
Just skimmed today's changelog and came across the repetition
2022-05-23 09:35:32 +02:00
Brennan Vincent
364dd5ff89 Fix build on OpenBSD (and probably other BSDs too)
notify-5.0.0-pre.14 does not build on these systems; this was fixed in
41a74f0e98 , which landed in pre.15.
2022-05-22 17:04:57 -04:00
bors
4b0f9c588d Auto merge of #12334 - fasterthanlime:gh-11635, r=Veykril
Generate enum variant assist

So, this is kind of a weird PR!

I'm a complete newcomer to the `rust-analyzer` codebase, and so I browsed the "good first issue" tag, and found #11635. Then I found two separate folks had taken stabs at it, most recently `@maartenflippo` — and there had been a review 3 days ago, but no activity in a little while, and the PR needed to be rebased since the crates were renamed from `snake_case` to `kebab-case`.

So to get acquainted with the codebase I typed this PR by hand, looking at the diff in #11995, and I also added a doc-test (that passes).

I haven't taken into account the comments `@Veykril` left in #11995, but I don't want to steal any of `@maartenflippo's` thunder! Closing this PR is perfectly fine. Or Maarten could use it as a "restart point"? Or I could finish it up, whichever feels best to everyone.

I think what remains to be done in this PR, at least, is:

  * [x] Only disable the "generate function" assist if the name is `PascalCase`
  * [x] Only enable the "generate variant" assistant if the name is `PascalCase`
  * [x] Simplify with `adt.source()` as mentioned here: https://github.com/rust-lang/rust-analyzer/pull/11995#discussion_r875134175
  * [ ] Add more tests for edge cases? Are there cases where simply adding one more indent level than the enum's indent level is not good enough? Some nested trickery I'm not thinking of right now?

Anyway. This PR can go in any direction. You can tell me "no, tackle your own issue!" And I'll go do that and still be happy I got to take a look at rust-analyzer some by doing this. Or you can tell me "okay, now _you_ finish it", and I guess I'll try and finish it :)

Closes #11635
2022-05-22 17:01:26 +00:00
Amos Wenger
ae2c0db67f Pull text creation into the closure 2022-05-22 18:38:14 +02:00
Amos Wenger
796c4d8a10 Better lowercase/uppercase checks 2022-05-22 18:31:12 +02:00
bors
65a213c9fa Auto merge of #12281 - lnicola:increase-overflow-depth, r=lnicola
Increase defalt chalk overflow depth to match max solver size

TBC:

 - #12279: ok above 480
 - ~~#12182~~
 - ~~#12095~~
 - #11902: ok above 350
 - ~~#11668~~
 - #11370: ok above 450
 - #9754: probably ok above 250 (!), and the code in cause and branch are gone

Closes #12279
Closes #11902
Closes #11370
Closes #9754
2022-05-22 15:14:26 +00:00
Laurențiu Nicola
8b56d42db9 Increase defalt chalk overflow depth to match max solver size 2022-05-22 18:10:38 +03:00
feniljain
89f449b75d fix(extract_module): import resolution for items of submodules 2022-05-22 17:11:15 +05:30
bors
038a71a201 Auto merge of #12345 - bvanjoi:escape_format_spcifier, r=Veykril
feat: escape format specifier(close: #12258)

solve https://github.com/rust-lang/rust-analyzer/issues/12258
2022-05-22 10:41:31 +00:00
bors
3535a052ce Auto merge of #12346 - rainy-me:fix/builtin-type-docs-links, r=Veykril
fix: special case base url of `BuiltinType` to core

fix #12250
2022-05-22 10:33:43 +00:00
rainy-me
3a380d4b3a fix: special case base url of BuiltinType to core 2022-05-22 18:50:40 +09:00
Felicián Németh
f7c963c0f2 onTypeFormatting: don't insert > if another > is there 2022-05-22 10:40:53 +02:00
Felicián Németh
3bb02f2329 feat: Add on-typing handler for left angle
Only advertise this feature in the server capabilities when the client
supports SnippetTextEdit.

Close #11398.

Co-authored-by: unexge <unexge@gmail.com>
2022-05-22 10:40:37 +02:00
Felicián Németh
636d4880c4 internal: Allow OnTypeFormatting to send SnippetTextEdit
But continue to send TextEdit only.
2022-05-22 10:39:18 +02:00
bvanjoi
f6b8525b1d feat: escape format specifier(close: #12258) 2022-05-22 15:32:24 +08:00
Bernardo Uriarte
1ee8fefcff take into account excludeDirs when computing linked_projects 2022-05-21 16:18:55 +02:00
Bernardo Uriarte
7009e5ab35 add failing test 2022-05-21 16:11:51 +02:00
feniljain
ddd59b9a9a fix(extract_module): nearby imports deletion causing panic 2022-05-21 19:13:49 +05:30
bors
01d412f4d7 Auto merge of #12339 - matklad:dead, r=matklad
dead code
2022-05-21 12:40:29 +00:00
Aleksey Kladov
7734a8b72f dead code 2022-05-21 13:39:59 +01:00
Aleksey Kladov
cbdab0e647 internal: document overall approach to reload 2022-05-21 13:11:05 +01:00
bitgaoshu
7c5e97221f mismatch 2022-05-21 17:26:03 +08:00
Christofer Nolander
068b138c87 Remove unecessary unwrap 2022-05-21 10:25:12 +02:00
Amos Wenger
707a5683b1 Still suggest generating enum methods if the name ref starts with a lowercase letter 2022-05-21 01:43:05 +02:00
Amos Wenger
0ed85beb15 Don't suggest enum variant if name_ref start with ASCII lowercase letter 2022-05-21 01:36:26 +02:00
Amos Wenger
7d716cbeb9 Simplify with adt.source() 2022-05-21 01:32:25 +02:00
Amos Wenger
2347da8c8d Generate enum variant assist
This also disables "generate function" when what we clearly want is to
generate an enum variant.

Co-authored-by: Maarten Flippo <maartenflippo@outlook.com>
2022-05-21 01:18:35 +02:00
Christofer Nolander
aef16300f7 Order auto-imports by relevance
This first attempt prefers items that are closer to the module they are
imported in.
2022-05-21 00:07:06 +02:00
Jonas Schievink
33939a3db1 Don't swallow build script errors 2022-05-20 17:28:39 +02:00
bors
2a978e1404 Auto merge of #12328 - Veykril:simplify, r=Veykril
minor: Simplify
2022-05-20 15:03:59 +00:00
Lukas Wirth
88e297e47d minor: Simplify 2022-05-20 16:52:10 +02:00
Jonas Schievink
60a2ab4c67 Rename Expr::Lambda to Expr::Closure 2022-05-20 15:40:32 +02:00
Jonas Schievink
3e356c1fd3 Clear cargo check diagnostics when flycheck is turned off 2022-05-20 15:07:55 +02:00
bors
7f226fc912 Auto merge of #12324 - jonas-schievink:rm-attribute, r=jonas-schievink
feat: Revert the "Add attribute" assist

Reverts https://github.com/rust-lang/rust-analyzer/pull/12296, as the added indirection and "assist noise" (the assist has to trigger inside the body of an item to match what the "Add `#[derive]`" does) makes this not really pull its weight over just using attribute completions.

Keeps the changes to "Add getter". `#[must_use]` can be applied using the attribute completions.
2022-05-20 12:57:08 +00:00
Jonas Schievink
e52d463524 Revert the "Add attribute" assist 2022-05-20 14:39:22 +02:00
bors
41388bf81a Auto merge of #12263 - andylizi:hide-type-hint-closure, r=Veykril
feat: hide type inlay hints for initializations of closures

![hide_closure_initialization](https://user-images.githubusercontent.com/12008103/168470158-6cb77b18-068e-4431-a8b5-e2b22d50d263.gif)

This PR adds an option to hide the inlay hints for `let IDENT_PAT = CLOSURE_EXPR;`, which is a somewhat common coding pattern. Currently the inlay hints for the assigned variable and the closure expression itself are both displayed, making it rather repetitive.

In order to be consistent with closure return type hints, only closures with block bodies will be hid by this option.

Personally I'd feel comfortable making it always enabled (or at least when closure return type hints are enabled), but considering the precedent set in #10761, I introduced an off-by-default option for this.

changelog feature: option to hide type inlay hints for initializations of closures
2022-05-20 12:35:36 +00:00
bors
f5229cebb2 Auto merge of #12301 - harpsword:fix_for_crlf_cargo_range_map, r=jonas-schievink
fix: calculate correct postion for Dos line ending in mapping rustc range to ls…

fix #12293
2022-05-20 12:15:22 +00:00
andylizi
2b1c1a934c
feat: hide type inlay hints for initializations of closures 2022-05-20 17:42:56 +08:00
NotWearingPants
641b78a162
hide closure ret hints if ret type is specified
fixes #12319
2022-05-20 02:35:37 +03:00
Jonas Schievink
52ff863abc Teach Callable about closures properly 2022-05-19 18:53:08 +02:00
bors
eba26af9f1 Auto merge of #12314 - jonas-schievink:proc-macro-load, r=jonas-schievink
minor: simplify
2022-05-19 14:50:08 +00:00
bors
46b5483055 Auto merge of #12313 - equinox:typo-fix, r=lnicola
Removed duplicate 'to' in `cachePriming.numThreads` option description

One 'to' too many!
2022-05-19 14:22:09 +00:00
Equinox
7197042ac4 remove duplicate 'to' in cachePriming.numThreads option description 2022-05-20 02:05:48 +12:00
bors
57861bd99e Auto merge of #12311 - Veykril:inlay-hints-tips, r=Veykril
internal: Improve inlay hint tooltips
2022-05-19 13:45:05 +00:00
Lukas Wirth
9ebb55d354 Hide more unnecessary parameter hints for constructors 2022-05-19 15:44:52 +02:00
Jonas Schievink
b2779111b4 simplify 2022-05-19 15:29:35 +02:00
Lukas Wirth
5fe28441b8 Update test fixtures 2022-05-19 15:20:45 +02:00
Lukas Wirth
b08bbd7be0 Enable hovering function parameter inlay hints 2022-05-19 14:32:40 +02:00
Lukas Wirth
74230e26ff internal: Improve inlay hint tooltips 2022-05-19 13:38:37 +02:00
bors
4f7d1a9d69 Auto merge of #12309 - Veykril:completion, r=Veykril
fix: Fix incorrect expected type in completions for trailing match arms

Fixes https://github.com/rust-lang/rust-analyzer/issues/12264
2022-05-19 10:34:36 +00:00
Lukas Wirth
018975b041 fix: Fix incorrect expected type in completions for match arms 2022-05-19 12:33:25 +02:00
Jonas Schievink
5279cdbefb Include self type in generated getter/setter docs 2022-05-18 19:22:04 +02:00
Jonas Schievink
93b62dbe85 Improve docs generation assist 2022-05-18 18:05:21 +02:00
harpsword
dfae0a12ef fix: calculate right range for Dos line ending in mapping rustc range to lsp range 2022-05-18 21:08:18 +08:00
bors
187bd7d48a Auto merge of #12130 - weirane:let-else-let-match, r=weirane
Turn let-else statements into let and match

Fixes #11906.
2022-05-17 19:01:18 +00:00
weirane
4a0821f332 Simplify const reference check
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-05-17 11:43:53 -07:00
Jonas Schievink
cb135ae71b Add a "Add attribute" assist 2022-05-17 20:28:25 +02:00
Lukas Wirth
58a241134c Update test output 2022-05-17 14:58:26 +02:00
Lukas Wirth
21f37a6d9e Allow inlay hint tooltips to trigger hovers 2022-05-17 14:46:43 +02:00
Lukas Wirth
a2ec010185 Trigger hover requests on closing brace hints 2022-05-17 13:39:45 +02:00
Lukas Wirth
0756719a30 Replace some SmolStr usages with String as the conversion happens anyways 2022-05-17 12:56:14 +02:00
Lukas Wirth
91833f1974 feat: Implement inlay hint tooltips 2022-05-17 12:49:51 +02:00
Lukas Wirth
12d5343993 internal: Cleanup lifetime elision hints 2022-05-17 12:18:07 +02:00
Jonas Schievink
1df6560fd8 Improve "Generate Deref impl" assist 2022-05-16 20:10:46 +02:00
Jonas Schievink
54c8c39da0 Don't generate documentation in generate_setter 2022-05-16 19:27:27 +02:00
Jonas Schievink
f1b6e45fba Handle getters and setters in documentation template assist 2022-05-16 19:10:38 +02:00
bors
825ce48180 Auto merge of #12271 - bitgaoshu:box_with_expec, r=flodiebold
fix #12227 Type mismatch error shown

add box expectation hint
2022-05-16 15:00:36 +00:00
Jonas Schievink
5ee028bbb8 Fix signature help LSP offset conversion 2022-05-16 15:48:38 +02:00
Jonas Schievink
fccc12982e Add closing brace hints for macros 2022-05-16 15:23:25 +02:00
bitgaoshu
e362929fa1 add box expection hint 2022-05-16 21:17:00 +08:00