Commit Graph

15100 Commits

Author SHA1 Message Date
bors
db1434b34f Auto merge of #12171 - lnicola:proc-macros-dont-invalidate-state, r=Veykril
fix: Try not to invalidate state when the proc macro preference didn't change

This appears to fix #12027, but I'm not sure.
2022-05-06 10:14:05 +00:00
Lukas Wirth
57a9915c1f internal: completion PathKind is not optional 2022-05-06 12:04:41 +02:00
Laurențiu Nicola
97cdf3eb0e Try not to invalidate our state when the proc macro preference didn't change 2022-05-06 09:49:03 +03:00
bors
dd3f5e0993 Auto merge of #12168 - Veykril:completion-rev, r=Veykril
internal: Remove unqualified_path completions module
2022-05-05 20:22:30 +00:00
Lukas Wirth
0c4e23b8ef internal: Remove unqualified_path completions module 2022-05-05 22:21:42 +02:00
Wang Ruochen
8d7a393008 Check const reference 2022-05-05 11:44:11 -07:00
Wang Ruochen
81d7cbbbe2 Avoid allocations 2022-05-05 10:14:11 -07:00
Jonas Schievink
d974a0b889 Fix rebase fallout 2022-05-05 16:35:07 +02:00
Jonas Schievink
37443eb9a1 Maybe everything else *should* have to deal with it 2022-05-05 16:28:59 +02:00
Jonas Schievink
2fe38d3b63 Indicate the number of float tokens in the first token 2022-05-05 16:28:59 +02:00
Jonas Schievink
34dc8e9383 Wrap floats in token trees in FLOAT_LITERAL node 2022-05-05 16:28:59 +02:00
Jonas Schievink
90bd99f1bb Add completion test 2022-05-05 16:28:59 +02:00
Jonas Schievink
2a755495d0 Add tests 2022-05-05 16:28:59 +02:00
Jonas Schievink
1bc3305d95 Split float literal tokens at the . 2022-05-05 16:28:58 +02:00
Jonas Schievink
502c519e7d Wrap float literals in their own node 2022-05-05 16:28:14 +02:00
Jonas Schievink
2d5d16f18c Remove ast::Literal::token 2022-05-05 16:27:35 +02:00
Lukas Wirth
16d2e79b50 internal: Remove unqualified_path completions module 2022-05-05 15:50:40 +02:00
Lukas Wirth
25d133e3b8 internal: Lift out item list path completions from (un)qualified_path 2022-05-05 12:20:18 +02:00
bors
52a58f672e Auto merge of #12160 - Veykril:completions-rev, r=Veykril
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 09:03:23 +00:00
Lukas Wirth
5280e08c13 minor: Sort ide-completions test outputs for less disruptive diffs 2022-05-05 10:53:20 +02:00
bors
01198da2a2 Auto merge of #12159 - Veykril:completions-rev, r=Veykril
internal: Lift out macro bang property from completion PathKind enum
2022-05-05 08:51:18 +00:00
Lukas Wirth
8b092ec337 internal: Lift out macro bang property from PathKind enum 2022-05-05 10:51:02 +02:00
Laurențiu Nicola
9856144b0b Lower values of char and byte literals 2022-05-05 08:12:08 +03:00
bors
0218aeba7a Auto merge of #12150 - rainy-me:feat/fix-doc-url-links, r=rainy-me
fix: doc url link type

fix: #12033

I did some debugging and found the cause looks like to be some doc links' `LinkType` are kept as `Shortcut` which don't make sense for url links.
This PR should resolve both problems in the origin issue, but aside this PR, more work are needed for doc_links.

about `LinkType`: f29bd1e228/src/lib.rs (L191-L210)
2022-05-05 04:54:12 +00:00
rainy-me
ddff1b22f9 fix: add docs and remove unnecessary check 2022-05-05 13:41:33 +09:00
Jacob Pratt
3c376e5be8
Remove handling of #[rustc_deprecated] 2022-05-04 22:25:58 -04:00
rainy-me
5f4351fbb6 fix: doc url link type 2022-05-05 00:41:29 +09:00
Lukas Wirth
73df43f69a Implement old to new config patching 2022-05-04 15:29:25 +02:00
bors
1f709d5446 Auto merge of #12143 - bnjjj:master, r=Veykril
improve the default constructor mode when filling fields

Instead of filling a boolean field with `bool::default()` it's not `false` and same for `Option` instead of using `Option::default()` it will be `None`
2022-05-04 09:32:17 +00:00
bors
9ed4af8967 Auto merge of #12142 - WaffleLapkin:sort-items-by-trait-def, r=lnicola
feat: Sort items by trait definition assist

This PR replaces the "Sort **methods** by trait definition" assist with a "Sort **items** by trait definition" assist that sorts all items, not just methods.

![sort-items-by-trait-def-showcase](https://user-images.githubusercontent.com/38225716/166491828-0bc10dbd-91be-408f-9fe0-636ef5e99377.gif)
2022-05-04 09:08:22 +00:00
Benjamin Coenen
6344eea242 improve the default constructor mode when filling fields
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2022-05-04 09:45:12 +02:00
Maybe Waffle
e315124798 Remove "Sort methods by trait definition" assist
It was replaced by the "Sort items by trait definition" assist.
2022-05-04 00:59:23 +04:00
Maybe Waffle
2b20a05fc6 Add "Sort items by trait definition" 2022-05-03 19:57:39 +04:00
Maybe Waffle
d7ed351573 Fix some typos in ide-assists/src/lib.rs 2022-05-03 19:41:07 +04:00
iDawer
970276b559 'inference': collect RPIT obligations
Collect obligations from RPITs (Return Position `impl Trait`) of a function which is being inferred.
This allows inferring {unknown}s from RPIT bounds.
2022-05-03 15:59:12 +05:00
Wang Ruochen
a70beea9e9 Trigger only when cursor is on else 2022-05-02 15:20:13 -07:00
Jonas Schievink
1f50e19eb2 Add a Converter type for token conversion 2022-05-02 17:47:12 +02:00
bors
f83dccf5b9 Auto merge of #12123 - rainy-me:feat/impl-self-completion, r=Veykril
feat: provide Self in record literal completion

close #12106
2022-05-02 12:29:49 +00:00
bors
9e10d4b717 Auto merge of #12093 - nico-abram:uwu, r=Veykril
Reload project on .cargo/config[.toml] changes

Fixes #11024

Not adding tests as discussed in the issue
2022-05-02 12:21:42 +00:00
bors
cc12d9df3f Auto merge of #12120 - iDawer:ide.sig_help, r=Veykril
fix: Don't show signature help after closing bracket

Stop showing signature help after closing angle/round brackets.

Fixes #11624
2022-05-02 12:13:16 +00:00
Lukas Wirth
b6e19add06 minor: Add a test for display rendering record variants 2022-05-02 12:51:00 +02:00
Lukas Wirth
4f97950595 fix: Fix uncorrect use of double braces in HirDisplay implementations 2022-05-02 12:39:38 +02:00
Lukas Wirth
291f94e22e Fix up config docs 2022-05-01 19:57:09 +02:00
Lukas Wirth
cb6032bdf4 Fix untagged enum deserialization 2022-05-01 19:57:09 +02:00
Lukas Wirth
1f11b70c3b Final fixups 2022-05-01 19:57:09 +02:00
Lukas Wirth
9fe1b24736 Update config usage in slow tests 2022-05-01 19:57:09 +02:00
Lukas Wirth
3d17261972 Adjust signature info and enum variant lenses 2022-05-01 19:57:08 +02:00
Lukas Wirth
9f27eb57a5 Implement boolean aliases 2022-05-01 19:57:08 +02:00
Lukas Wirth
bd18936d51 Sort config definition 2022-05-01 19:57:08 +02:00
Lukas Wirth
61643aca49 Initial config revamp 2022-05-01 19:57:08 +02:00
Wang Ruochen
59cdb31874 Turn let-else statements into let and match 2022-05-01 09:43:51 -07:00
rainy-me
f3e3abfb98 feat: provide self in record literal completion 2022-05-01 21:01:28 +09:00
Peh
aade31943f delete another swap file 2022-05-01 10:48:58 +00:00
Peh
14c30b7979 update crates names in slow-tests/tidy.rs 2022-05-01 10:48:58 +00:00
Peh
c9a8c69ee0 update diagnostic-docs crate name 2022-05-01 10:48:58 +00:00
Peh
e53bf7e9c2 updated ide-assist new dir name 2022-05-01 10:48:58 +00:00
Peh
55e7925ac8 delete a generated swap file 2022-05-01 10:48:58 +00:00
Peh
1f011fa4a3 style: rename crates to kebab case 2022-05-01 10:48:58 +00:00
bors
e025b37df6 Auto merge of #12099 - bitgaoshu:master, r=flodiebold
fix #11986 Aliases break resolution of qualified variants in patterns
2022-05-01 08:49:58 +00:00
iDawer
dffbab45f4 Don't show signature help after closing bracket 2022-04-29 23:26:54 +05:00
bors
c6995a372f Auto merge of #12117 - Veykril:mexpand, r=Veykril
minor: Insert whitespace after const token when formatting macro expansions
2022-04-29 12:07:52 +00:00
Lukas Wirth
df85ee05e3 minor: Insert whitespace after const token when formatting macro expansions 2022-04-29 14:07:19 +02:00
Justin Tracey
cfa7204544
small typo in log message 2022-04-29 05:59:32 +00:00
Jonas Schievink
52010d7dc7 Fix outline mod completion with partial module name 2022-04-28 20:21:46 +02:00
Jonas Schievink
c7027122db Add test with trait 2022-04-28 19:23:57 +02:00
Jonas Schievink
b6a1b45c24 Make "inline type alias" work for Self 2022-04-28 19:20:23 +02:00
bors
d382e24a11 Auto merge of #12108 - Veykril:simplify, r=Veykril
minor: Record snippet config errors
2022-04-28 13:18:35 +00:00
Lukas Wirth
075b18942f minor: Record snippet config errors 2022-04-28 15:18:19 +02:00
bitgaoshu
7900d99e3e #11986 Aliases break resolution of qualified variants in patterns 2022-04-28 09:42:07 +08:00
bors
241b9f9aec Auto merge of #12103 - jonas-schievink:diagnose-unresolved-derives, r=jonas-schievink
feat: diagnose unresolved derive macros

![screenshot-2022-04-27-20:04:59](https://user-images.githubusercontent.com/1786438/165591059-c759f035-2400-4bb1-84b0-9332e86c65d5.png)
2022-04-27 18:05:37 +00:00
Jonas Schievink
fa42888e27 Diagnose unresolved derive macros 2022-04-27 20:03:57 +02:00
bors
361cddc16c Auto merge of #12101 - Veykril:simplify, r=Veykril
Simplify
2022-04-27 17:54:26 +00:00
Lukas Wirth
8b056fad45 Simplify 2022-04-27 19:53:56 +02:00
bors
ab8159b0b2 Auto merge of #12090 - Veykril:recov, r=Veykril
fix: Use pattern recovery set when parsing ident patterns
2022-04-27 17:18:46 +00:00
Lukas Wirth
e2344e78f3 fix: Use pattern recovery set when parsing ident patterns 2022-04-27 19:08:50 +02:00
unknown
b373e62f1a Reload project on .cargo/config[.toml] changes
Fixes #11024
2022-04-27 12:10:43 -03:00
bors
1ad500beb6 Auto merge of #12057 - harpsword:fix_validata_visibility, r=jonas-schievink
fix visibility token validation in trait impl with proc-macro

fix #11828
2022-04-27 13:09:31 +00:00
bors
6c6aaeee7a Auto merge of #12089 - lowr:fix/move-raw-ident-module-to-file, r=jonas-schievink
fix: handle raw identifiers in move_module_to_file

Fixes #12045

Note that I special case'd mod named `r#mod` as commented in the code. Although it's very unlikely that one would use such name, I included it in this fix for the sake of completeness.
2022-04-27 12:59:52 +00:00
harpsword
b1f858118b fix visibility token validation in trait impl with proc-macro 2022-04-27 20:58:36 +08:00
bors
9f69d024ed Auto merge of #12098 - jonas-schievink:macro-rules-snippet, r=jonas-schievink
fix: show `macro_rules` snippet in blocks

fixes https://github.com/rust-lang/rust-analyzer/issues/12092
2022-04-27 12:41:29 +00:00
Jonas Schievink
0060d5977d Show macro_rules snippet in blocks 2022-04-27 14:40:09 +02:00
Laurențiu Nicola
4a57307674 Revert "Correctly fix formatting doc tests with generics"
This reverts commit 5f3327a6b8.
2022-04-27 15:30:54 +03:00
Laurențiu Nicola
0d02be7330 Revert "Update crates/ide/src/runnables.rs"
This reverts commit bf47acf1d3.
2022-04-27 15:30:54 +03:00
rainy-me
c1685e56b7 fix: remove lookup and handle mut kw case 2022-04-27 18:54:57 +09:00
LowR
bc7cb00a27 fix: handle raw identifiers in move_module_to_file 2022-04-27 05:12:10 +09:00
bors
198c075580 Auto merge of #12083 - Veykril:inlays, r=Veykril
minor: Add test for parameter and reborrow hint order
2022-04-26 09:53:26 +00:00
Lukas Wirth
5e413997a1 minor: Add test for parameter and reborrow hint order 2022-04-26 11:46:03 +02:00
iDawer
729cd8530b signature_help: use corresponding param list for methods 2022-04-26 11:50:28 +05:00
Lukas Wirth
4255996965 Re-export FxHashMap and FxHashSet from ide_db 2022-04-25 18:51:59 +02:00
Lukas Wirth
8154365b00 minor: Remove either dependency from ide_completion 2022-04-25 18:40:38 +02:00
bors
6869491974 Auto merge of #12075 - jonas-schievink:less-aggressive-quickfixes, r=jonas-schievink
fix: Don't emit a quickfix for placeholder suggestions from rustc/clippy

Fixes https://github.com/rust-lang/rust-analyzer/issues/12069
2022-04-25 13:22:41 +00:00
Jonas Schievink
36342b4b29 Don't emit a quickfix for placeholder suggestions 2022-04-25 15:21:30 +02:00
bors
60c4f072eb Auto merge of #12007 - edwin0cheng:restart-proc-macro-reload, r=jonas-schievink
Restart proc-macro client when server reload

Fix #10719
2022-04-25 12:56:57 +00:00
bors
1d2bd0e379 Auto merge of #12071 - Ma124:fix-tabs-snippet, r=jonas-schievink
Change tabs to spacs in macro_rules snippet

This PR changes the `macro_rules!` snippet to use spaces instead of tabs.
The other snippets like [this one][test-snippet] already use spaces.

The snippet was introduced in 5575588 where no reason is provided to use tabs.

[test-snippet]: https://github.com/rust-lang/rust-analyzer/blob/master/crates/ide_completion/src/completions/snippet.rs#L70=
2022-04-25 12:44:49 +00:00
Jonas Schievink
3a83684a16 Reduce priority of flyimport completions 2022-04-25 14:34:54 +02:00
bors
c1de78f54c Auto merge of #12072 - bitgaoshu:master, r=jonas-schievink
fix #11973 associated type is unresolved
2022-04-25 11:07:09 +00:00
Ma_124
b06c95aeda Change tabs to spacs in macro_rules snippet 2022-04-24 15:18:31 +02:00
bitgaoshu
5d1aff3357 #11973 associated type is unresolved 2022-04-24 20:51:48 +08:00
Aleksey Kladov
83aa42ae69 minor: clarify error message
Clarify that the server is a whole is OK, and that it's only a single
requests that's dead
2022-04-24 13:39:33 +01:00
Edwin Cheng
8f616a6cb5 Fix Reload Workspace command 2022-04-24 11:59:08 +08:00
bors
c61bb6be8c Auto merge of #12064 - Veykril:attr-range, r=Veykril
fix: Fix `ide_db::search` not searching bodies of attributed items

Fixes https://github.com/rust-lang/rust-analyzer/issues/12050
2022-04-23 14:37:35 +00:00
Lukas Wirth
d524e43ef5 fix: Fix ide_db::search not searching bodies of attributed items 2022-04-23 16:36:11 +02:00
bors
23e47e1ebc Auto merge of #12063 - iDawer:ide.signature_help, r=Veykril
fix: Fall back to parameter definitions on error types in signature help

Fixes  #10432
2022-04-23 14:23:30 +00:00
iDawer
baa4fa09ef Add fallback for return type 2022-04-23 17:21:21 +05:00
iDawer
fae9049ccd Fall back to parameter definitions on error types in signature help 2022-04-23 17:21:21 +05:00
bors
c606229241 Auto merge of #12060 - Veykril:completion-ctx, r=Veykril
minor: Simplify

bors r+
2022-04-23 00:29:18 +00:00
Lukas Wirth
ea45e54458 Simplify 2022-04-23 02:21:27 +02:00
bors
1894473b19 Auto merge of #12058 - jonas-schievink:one-thread-with-extra-stack-please, r=jonas-schievink
fix: Spawn a new thread with a larger stack for the LSP and proc-macro server

This runs the server and proc-macro process in dedicated threads with 8 MB of stack space to paper over OS differences and fix occasional stack overflows.

This hopefully resolves https://github.com/rust-lang/rust-analyzer/issues/11669
2022-04-22 15:46:30 +00:00
Jonas Schievink
b5a56c7d53 Spawn a new thread with a larger stack for the server 2022-04-22 17:35:03 +02:00
bors
ebe6e30f04 Auto merge of #12054 - HKalbasi:const_generic, r=flodiebold
Fix const generic panic in dyn trait

fix #12048
2022-04-22 15:22:49 +00:00
hkalbasi
785ae4dfa8 remove trailing space 2022-04-22 19:29:10 +04:30
hkalbasi
0b5dd42fac Add some comments about why never!() never happens 2022-04-22 19:22:18 +04:30
hkalbasi
d33d5fca1d fix const generic panic in dyn trait 2022-04-22 01:36:11 +04:30
bors
24f9209a87 Auto merge of #12040 - rainy-me:improve-parameter-completion, r=jonas-schievink
fix: Improve parameter completion

fix https://github.com/rust-lang/rust-analyzer/issues/12016 and handles some extra cases.
2022-04-21 15:39:10 +00:00
rainy-me
8f8f20fda5 fix: lookup 2022-04-22 00:07:42 +09:00
Ted Kaminski
ecb1368027 fix: index the correct CargoWorkspace with rustc_private 2022-04-20 17:16:04 +00:00
Jonas Schievink
dd4a92176c Prefer core/alloc over std if no_std is conditional 2022-04-20 14:07:40 +02:00
rainy-me
a58f7acc97 fix: improve parameter completion 2022-04-20 17:56:20 +09:00
Jonas Schievink
c6ffffccbd Allows triggering commands after an assist edit 2022-04-19 18:45:48 +02:00
Lukas Wirth
f8c32df7cd minor: Document completion context some more 2022-04-18 16:54:13 +02:00
bors
e0d41bc2a1 Auto merge of #12021 - Veykril:completion-ctx, r=Veykril
internal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation variants

Continues the completion rewrite I started some time ago
(will merge tomorrow after stable since our completion tests still let a lot through)
2022-04-18 14:00:56 +00:00
XFFXFF
fedd0245d1 derive completions take existing derives into count 2022-04-18 21:34:36 +08:00
Edwin Cheng
72fcc66835 More visibility for switch workspaces and its states 2022-04-18 14:26:00 +08:00
Lukas Wirth
ff667c7228 internal: Add a NameContext to CompletionContext, move out some ImmediateLocation variants 2022-04-17 21:53:58 +02:00
Laurențiu Nicola
117f902d55 Bump deps 2022-04-17 19:36:08 +03:00
bors
a45a63e577 Auto merge of #12013 - XFFXFF:associated_const_equality, r=Veykril
fix: support `associated_const_equality` in parser

This pr fixes #11965.  The parser now allows eq constraints on associated constants.

I've added tests for `HasCount<Count = {N}>` and `HasCount<Count = 0>`
2022-04-17 13:05:47 +00:00
XFFXFF
6580d75308 update parser to support associated const equality 2022-04-17 20:26:06 +08:00
Lukas Wirth
3de9a42810 Disable rustfmt for expand_macro on wasm platforms 2022-04-17 14:00:19 +02:00
Lukas Wirth
895a16265c Fix macro patterns not getting formatted properly 2022-04-17 13:46:00 +02:00
Lukas Wirth
e2f1a9a558 feat: Attempt to format expand_macro output with rustfmt if possible 2022-04-17 13:33:39 +02:00
XFFXFF
bdecd9374e update grammer to support associated const equality 2022-04-17 12:03:52 +08:00
bors
53afd2a707 Auto merge of #12011 - iDawer:completion_detail.impl_trait, r=Veykril
fix: Show `impl Trait` in argument positon in completion details

Follow up for #11991

`hir`: Use `db.callable_item_signature` query more.
2022-04-16 21:13:07 +00:00
iDawer
d26deb5b9f Show impl Trait in argument positon in completion details
`hir`: Use `db.callable_item_signature` query more.
2022-04-16 19:18:42 +05:00
Aleksey Kladov
3f4235d59b internal: more visibility into why things happen 2022-04-16 13:17:27 +01:00
Lukas Wirth
6f037da8cb fix: Fix proc-macro change check being inverted 2022-04-16 12:36:31 +02:00
iDawer
c53412046f minor: address nit 2022-04-16 13:54:24 +05:00
iDawer
03c5dd1252 extract_function: use appropriate return type for async fns 2022-04-16 13:54:24 +05:00
iDawer
9d787e1bfe Add hir::Function::async_ret_type method
Adjust completion detail for `async fn` return types
2022-04-16 13:53:22 +05:00
iDawer
f972adc201 fix: comletion detail shows {unknown} for impl Trait in return position 2022-04-16 13:41:10 +05:00
bors
1c22537b3b Auto merge of #12005 - Veykril:hir-ty-simplify, r=Veykril
internal: Remove frequent `Arc<Body>` clones in type checking

bors r+
2022-04-15 20:23:15 +00:00
Lukas Wirth
e5bf60fee2 minor: Remove frequent Arc<Body> clones in type checking 2022-04-15 21:44:47 +02:00
Lukas Wirth
f82d230081 Simplify 2022-04-15 21:25:44 +02:00
bors
e10284a10c Auto merge of #12003 - Veykril:hir-ty-simplify, r=Veykril
internal: Remove duplicated crate id field from hir::Type
2022-04-15 18:25:02 +00:00
Lukas Wirth
17691ee974 Slightly optimize Resolver::krate 2022-04-15 20:17:50 +02:00
Lukas Wirth
4b4a34327e Remove duplicated crate id field from hir::Type 2022-04-15 20:14:35 +02:00
bors
20e6065a7a Auto merge of #12002 - Veykril:proc-macro-change-panic, r=Veykril
fix: Fix source root panic in global state when checking out older git revs

Fixes https://github.com/rust-lang/rust-analyzer/issues/11357
2022-04-15 18:02:40 +00:00
Lukas Wirth
f540d1c2aa fix: Fix source root panic in global state when checking out older git revs 2022-04-15 20:02:15 +02:00
bors
a912f2a9f6 Auto merge of #12001 - Veykril:refs, r=Veykril
fix: Do reference search on all downmapped tokens with the same kind only

cc https://github.com/rust-lang/rust-analyzer/issues/11668
2022-04-15 17:43:24 +00:00
Lukas Wirth
58660dee2a fix: Do reference search on all downmapped tokens with the same kind only 2022-04-15 19:42:48 +02:00
bors
5e41205e9c Auto merge of #12000 - Veykril:hlmac, r=Veykril
fix: Tag `macro_rules` macro bang with `MacroBang` tag

cc https://github.com/rust-lang/rust-analyzer/issues/11996
2022-04-15 17:19:33 +00:00