Lukas Wirth
638755a771
Log rustfmt parsing errors as warnings
...
We unconditionally pass an edition parameter to rustfmt, for some crates
this might fail rustfmt so instead of swallowing the error, at least Log
it on a level that is logged by default so users won't be completely
confused about it.
See for context https://github.com/rust-lang/rust-analyzer/issues/10209
Closes https://github.com/rust-lang/rust-analyzer/issues/10209
2022-08-19 09:22:34 +02:00
bors
20d64412c0
Auto merge of #12951 - jonas-schievink:doc-cli-stability, r=Veykril
...
internal: Document CLI flag stability
2022-08-08 11:56:44 +00:00
bors
3805067bf5
Auto merge of #12905 - HKalbasi:master, r=Veykril
...
Generate rust type from json
fix #10118
Should this be a diagnostic? I made it a diagnostic because of issue label.
2022-08-08 11:46:22 +00:00
hkalbasi
851f6db7f7
Import serde derives on converting json to struct
2022-08-06 20:12:21 +04:30
Adrian Stanciu
e8a9bc09a3
run stable fmt through rustup
2022-08-06 17:25:02 +03:00
Jonas Schievink
fd00bd4d3b
Document CLI flag stability
2022-08-05 15:28:53 +02:00
Lukas Wirth
6a1737242b
Don't switch workspace on vfs file changes from libraries
...
When r-a starts up, it starts switching the workspace before all vfs
events have been processed which causes us to switch workspace multiple
times until all vfs changes have been processed. This scales with the
size of the project and its dependencies. If workspace files from
dependencies as well as the sysroot get loaded, we shouldn't switch
the workspace as those have no impact on the project workspace.
2022-08-05 12:06:42 +02:00
bors
0fe3bcfd35
Auto merge of #12808 - Veykril:check-workspace, r=Veykril
...
feat: Only flycheck workspace that belongs to saved file
Supercedes https://github.com/rust-lang/rust-analyzer/pull/11038
There is still the problem that all the diagnostics are cleared, only clearing diagnostics of the relevant workspace isn't easily doable though I think, will have to dig into that
2022-08-04 12:57:04 +00:00
Lukas Wirth
df7f755e3b
Don't flycheck while the workspace is being loaded
2022-08-04 14:56:44 +02:00
Lukas Wirth
df9d3db82f
Trigger flycheck on all transitive dependencies as well
2022-08-04 13:22:15 +02:00
bors
2bc9a2d9e0
Auto merge of #12933 - Veykril:proc-ignored, r=Veykril
...
Use an empty expander for ignored non-attribute proc-macros
Identity is the wrong behaviour for anything that's not an attribute here
2022-08-03 16:11:08 +00:00
Lukas Wirth
a8a6c160be
Use an empty expander for ignored non-attribute proc-macros
2022-08-03 18:10:15 +02:00
Jonas Schievink
bd7dfac5eb
Fix r-a spelling in some places
2022-08-01 13:47:09 +02:00
Lukas Wirth
c8ff70e924
fix: Fix server panicking on project loading when proc-macros are disabled
2022-07-26 16:30:45 +02:00
Amos Wenger
b1e3daf14b
Find standalone proc-macro-srv on windows too
2022-07-26 12:28:59 +02:00
Lukas Wirth
aa1491ecde
Record derive helper attributes, resolve them in IDE layer
2022-07-26 09:26:51 +02:00
Amos Wenger
74a2fad5e6
Gate and rename binary, use it if it's in the sysroot
2022-07-25 16:22:39 +02:00
Amos Wenger
dadb83282d
Remember the difference between 'sysroot root' and 'sysroot src root', start looking in there for a rust-analyzer-proc-macro-srv binary
2022-07-25 16:07:41 +02:00
Amos Wenger
0d04e63627
Merge remote-tracking branch 'origin/master' into sync-from-rust-2
2022-07-25 14:07:07 +02:00
bors
ac86b8edff
Auto merge of #12856 - Veykril:multi-proc-srv, r=Veykril
...
feat: Spawn a proc-macro-srv instance per workspace
cc https://github.com/rust-lang/rust-analyzer/issues/12855
The idea is to have each server be spawned with the appropriate toolchain, that way workspaces with differing toolchains shouldn't suffer from proc-macro abi mismatches.
2022-07-25 10:41:05 +00:00
Amos Wenger
b351e115d6
Move cfg attrs up to the mod definitions to disable sourcegen
2022-07-24 10:38:34 +02:00
Amos Wenger
0bffdf2627
Disable all source-gen tests at compile time
2022-07-24 10:38:28 +02:00
Lukas Wirth
50b27e57ba
Better error messages when the proc-macro-server fails to start
2022-07-23 20:24:01 +02:00
Lukas Wirth
aeb07745d5
Spawn a proc-macro-srv instance per workspace
2022-07-23 20:10:10 +02:00
Amos Wenger
315b0a7254
Add sysroot-abi feature, copy 1.64 ABI fo rnow
2022-07-20 19:18:39 +02:00
Amos Wenger
244f29b1e7
Remove in-rust-tree feature
...
Since it's unused for now -it'll be re-introduced along with the
upcoming `proc-macro-srv/sysroot` feature.
2022-07-20 15:58:57 +02:00
Amos Wenger
d5b1ae66c2
Remove check_merge_commits test altogether
...
Rationale: Merge commits will probably end up in
`rust-lang/rust-analyzer` when doing "rust=>ra" syncs anyway.
It could be changed to only check for merge commits in non-sync PRs,
but it's "probably not worth the hassle"
2022-07-20 15:57:14 +02:00
Amos Wenger
c520408731
Allow merge commits when 'in-rust-tree' feature is enabled
...
This adds an `in-rust-tree` feature that will be enabled when
rust-analyzer is built from `rust-lang/rust`. Due to the way
"git subtree" works, that test _will_ find merge commits and
fail, so we simply skip it.
2022-07-20 15:49:40 +02:00
Amos Wenger
8318035726
Fix last few warnings manually
2022-07-20 15:05:02 +02:00
Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
Amos Wenger
23d25a3094
Enable extra warnings required by rust-lang/rust
2022-07-20 15:00:17 +02:00
Lukas Wirth
d73b0d5fc6
Don't filter flychecks by package member status
2022-07-20 11:52:44 +02:00
Lukas Wirth
25391e6d44
Only clear diagnostics of workspaces who have been flychecked
2022-07-20 11:49:36 +02:00
Amos Wenger
1b416473a3
Upgrade to expect-test@1.4.0
...
cf. https://github.com/rust-analyzer/expect-test/issues/33
cf. https://github.com/rust-lang/rust/pull/99444#issuecomment-1188844202
2022-07-19 13:00:45 +02:00
Laurențiu Nicola
474f5eafc7
Work around Code bug with empty diagnostics
2022-07-19 07:45:31 +03:00
Lukas Wirth
a63b5d3c84
feat: Only flycheck workspace that belongs to saved file
2022-07-18 20:30:58 +02:00
bors
dc05192e11
Auto merge of #12807 - Veykril:completion-item-details, r=Veykril
...
Add simple support for completion item details
Supercedes https://github.com/rust-lang/rust-analyzer/pull/9891
This doesn't yet really implement anything new, it just adds the scaffolding for the protocol conversion
2022-07-18 17:28:43 +00:00
Lukas Wirth
d17a5ef8e1
Add simple support for completion item details
2022-07-18 19:27:54 +02:00
bors
fac6a64656
Auto merge of #12804 - jonas-schievink:config-watcher, r=Veykril
...
fix: make file watcher config a drop-down (and clarify the options)
Fixes https://github.com/rust-lang/rust-analyzer/issues/12794
Also renames "notify" to "server", since that's clearer ("notify" is still accepted for compatibility).
2022-07-18 16:41:26 +00:00
bors
22e53f1d33
Auto merge of #12549 - bitgaoshu:goto_where_trait_m_impl, r=Veykril
...
feat: Go to implementation of trait methods
try goto where the trait method implies, #4558
2022-07-18 16:29:23 +00:00
Jonas Schievink
ec1142c0d0
Improve file watcher config
2022-07-18 17:50:56 +02:00
TonalidadeHidrica
dfcbed09d3
Fix obsolete enableRangeFormatting
config
2022-07-11 16:52:35 +09:00
Jonas Schievink
6c6ae965ba
Update remaining GitHub URLs
2022-07-08 15:44:49 +02:00
Hongxu Xu
441e659aa1
Complete associated type only in trait generic arg
...
Fix tidy check does not work for marks in multiline
2022-07-05 21:48:28 +08:00
Florian Diebold
ccf854bc2e
Improve documentation for buildScripts.overrideCommand / checkOnSave.overrideCommand
2022-07-04 18:51:18 +02:00
Laurențiu Nicola
5381811368
Bump tracing-subscriber
2022-07-03 10:12:58 +03:00
Laurențiu Nicola
212f84ab46
Bump crossbeam-channel
2022-07-03 09:56:58 +03:00
Florian Diebold
8b3ec12aac
fix: Report proc macro errors in expressions correctly as well
...
They didn't have a krate before, resulting in the generic "proc macro
not found" error.
Also improve error messages a bit more.
2022-06-28 10:43:22 +02:00
buffet
45b896002a
Fix typo in build.rs
2022-06-26 10:09:45 +00:00
bitgaoshu
e3b1303c4f
fix test in resolve_proc_macro: Foo is Owner
2022-06-25 01:02:39 +08:00