David Barsky
c17dcc8d90
internal: switch to Arc::from_iter
2023-12-06 13:08:45 -05:00
roife
e790d7ff3a
internal: simplify the removal of dulicate workspaces.
...
refactor: replace multiple steps with `positions` in `fetch_workspaces` for clarity.
2023-11-22 21:14:39 +08:00
Lukas Wirth
e8c4007cfc
Fix builtin line! expansion
2023-11-15 14:06:10 +01:00
Lukas Wirth
2dbc7e3e1a
Restructure some modules in rust-analyzer crate
2023-09-02 14:16:04 +02:00
Lukas Wirth
bd6ec06237
Write proc-macro server spawn errors to the status text
2023-07-30 14:38:25 +02:00
Lukas Wirth
69cd3c30ac
Format let-else
2023-07-03 20:34:09 +02:00
Lukas Wirth
28fcd1bdd7
Split out project loading capabilities from rust-analyzer crate
2023-07-03 17:40:31 +02:00
Alex Kladov
6303551cb8
internal: use consistent style for error handling
2023-06-19 13:01:47 +01:00
Alex Kladov
49318bbae7
fix: ensure that ws loading error includes path to ws
2023-06-19 12:32:04 +01:00
Lukas Wirth
b322805918
internal: Record file dependencies in crate graph construction
2023-06-13 12:29:24 +02:00
beyarkay
dac660dc1d
Fix typo in reload.rs
2023-06-07 20:57:27 +02:00
Lukas Wirth
a1af9eb1f8
Revert "Add mandatory panic contexts to all threadpool tasks"
2023-06-04 09:30:21 +02:00
Lukas Wirth
2d0510e226
Add mandatory panic contexts to all threadpool tasks
2023-06-04 09:09:25 +02:00
Luna Razzaghipour
74bc2a47e0
Wrap platform-specific QoS in r-a-specific “thread intent”
2023-05-28 20:37:38 +10:00
Luna Razzaghipour
d0b001eed2
Use appropriate QoS classes throughout the codebase
2023-05-28 20:37:37 +10:00
Luna Razzaghipour
2924fd2213
Implement custom QoS-aware thread pool
...
This code replaces the thread pool implementation we were using
previously (from the `threadpool` crate). By making the thread pool
aware of QoS, each job spawned on the thread pool can have a different
QoS class.
This commit also replaces every QoS class used previously with Default
as a temporary measure so that each usage can be chosen deliberately.
2023-05-28 20:37:35 +10:00
Lukas Wirth
f876adf617
Report flycheck errors via status
2023-05-26 15:37:41 +02:00
Lukas Wirth
a2b59b110f
Report config errors via status
2023-05-26 15:26:03 +02:00
Laurențiu Nicola
7197a27028
Use triomphe Arc
2023-05-02 20:02:43 +03:00
Lukas Wirth
3b97978c49
fix: Fix proc-macro-srv path config not working
2023-04-28 21:17:18 +02:00
Lukas Wirth
c21860bd6a
Remove proc-macro server command from the rust-analyzer binary
2023-04-26 08:19:28 +02:00
Lukas Wirth
49fcd4edda
fix: Fix vscode workspaces not working properly
2023-04-25 10:47:33 +02:00
Lukas Wirth
9c408970ea
Deduplicate loaded projects
2023-04-18 14:27:01 +02:00
Lukas Wirth
dd5c3c30b6
internal: Warn when loading sysroot fails to find the core library
2023-04-13 08:40:14 +02:00
bors
e9e57725aa
Auto merge of #14505 - Veykril:block-trait-impls, r=Veykril
...
fix: Fix block local impl trait solving regressions
Fixes https://github.com/rust-lang/rust-analyzer/issues/14443
2023-04-06 08:37:33 +00:00
Lukas Wirth
1c16e4ee97
fix: Fix block local impl trait solving regressions
2023-04-06 10:37:00 +02:00
bors
e3e324d830
Auto merge of #14432 - Veykril:proc-macro-srv, r=lnicola
...
Drop support for non-syroot proc macro ABIs
This makes some bigger changes to how we handle the proc-macro-srv things, for one it is now an empty crate if built without the `sysroot-abi` feature, this simplifies some things dropping the need to put the feature cfg in various places. The cli wrapper now actually depends on the server, instead of being part of the server that is just exported, that way we can have a true dummy server that just errors on each request if no sysroot support was specified.
2023-04-06 08:04:55 +00:00
Lukas Wirth
25635adc00
Show proc-macro spawn errors as status notification warnings
2023-04-04 19:24:50 +02:00
Lukas Wirth
31db1fc75f
internal: Refine CrateOrigin variants
2023-03-31 10:36:13 +02:00
Lukas Wirth
af0d548b66
Fix proc-macro server spawning behavior when the server is r-a itself
2023-03-30 18:59:03 +02:00
Lukas Wirth
e244942209
internal: Set Durability to HIGH for enable_proc_attr_macros input
2023-03-30 15:11:22 +02:00
bors
fc8c5139fa
Auto merge of #14410 - Veykril:query-lru-capacities, r=Veykril
...
internal: Add config to specifiy lru capacities for all queries
Might help figuring out what queries should be limited by LRU by default, as currently we only limit `parse`, `parse_macro_expansion` and `macro_expand`.
2023-03-30 12:20:24 +00:00
Lukas Wirth
5616d91b73
internal: Add config to specifiy lru capacities for all queries
2023-03-30 12:52:28 +02:00
David Barsky
25c59b8e92
address PR comments
2023-03-29 15:29:32 -04:00
David Barsky
e5bfd7ef0a
it, uh, turns out that we should be spawning for new servers. oops.
2023-03-28 09:56:01 -04:00
David Barsky
6a42d7f627
fix: allow new, subsequent rust-project.json
-based workspaces to get
...
proc macro expansion.
2023-03-28 09:17:16 -04:00
bors
5bba438c9c
Auto merge of #14366 - Veykril:linked-proj, r=Veykril
...
feat: Pop a notification prompting the user to add a Cargo.toml of unlinked file to the linkedProjects
cc https://github.com/rust-lang/rust-analyzer/issues/13226 https://github.com/rust-lang/rust-analyzer/issues/9661
2023-03-28 07:05:43 +00:00
Lukas Wirth
ee02213e65
Handle proc macro fetching via OpQueue
2023-03-26 09:33:41 +02:00
Lukas Wirth
e5f24a6d7c
Set proc_macros input when creating the RootDatabase
2023-03-25 18:20:42 +01:00
Lukas Wirth
607375dc20
Load proc-macros asynchronously
2023-03-25 18:06:06 +01:00
Lukas Wirth
d154ea88f9
Split out proc-macros from the CrateGraph
2023-03-25 16:46:44 +01:00
Lukas Wirth
3ae9bfe266
Remove client side proc-macro version check
2023-03-25 15:43:58 +01:00
Lukas Wirth
66636939a6
feat: Pop a notification prompting the user to add a Cargo.toml of unlinked file to the linkedProjects
2023-03-16 16:26:19 +01:00
Lukas Wirth
d9c7d28e0d
Report sysroot and rustc crate loading errors
2023-03-15 11:35:34 +01:00
Lukas Wirth
e2ab0ff124
Aggregate errors and warnings in the status message
2023-03-15 11:28:37 +01:00
Dan Johnson
2691143a67
Fix overlap deduping infinite loop
...
Fixes: 14276
2023-03-10 17:01:21 -08:00
Lukas Wirth
c03775e477
Fix is_quiescent reporting
2023-03-10 10:26:02 +01:00
Lukas Wirth
0d19ccb3df
Make project loading errors less intrusive
2023-03-10 09:49:37 +01:00
Lukas Wirth
b4bd27be90
Don't send error notifications for workspace failures if server status is supported
2023-03-08 13:18:44 +01:00
Lukas Wirth
47a567b833
Deduplicate source roots that have overlapping include paths
2023-02-28 12:08:23 +01:00