bors
06a40a61b0
Auto merge of #17973 - Veykril:proc-macro-curr-dir, r=Veykril
...
Expand proc-macros in workspace root, not package root
Should fix https://github.com/rust-lang/rust-analyzer/issues/17748 . The approach is generally not perfect though as rust-project.json projects don't benefit from this (still, nothing changes in that regard)
2024-08-27 11:53:04 +00:00
Lukas Wirth
9a47e6f2c8
Expand proc-macros in workspace root, not package root
2024-08-27 13:40:24 +02:00
Lukas Wirth
191949eabe
fix: Fix metadata retrying eating original errors
2024-08-25 09:28:47 +02:00
Victor Song
b0f20c7deb
chore(config): remove invocationLocation
in favor of invocationStrategy
...
These flags were added to help rust-analyzer integrate with repos
requiring non-Cargo invocations. The consensus is that having two
independent settings are no longer needed. This change removes
`invocationLocation` in favor of `invocationStrategy` and changes
the internal representation of `InvocationStrategy::Once` to hold
the workspace root.
2024-08-19 02:25:40 -05:00
Lukas Wirth
07c1b83e98
feat: Make rust-analyzer work partially when missing an internet connection
2024-08-17 19:14:46 +02:00
Lukas Wirth
f053b1aa6a
feat: Load sysroot library via cargo metadata
2024-08-05 12:18:19 +02:00
Lukas Wirth
bd37e2790b
Allow sysroots to only consist of the source root dir
2024-05-23 20:12:31 +02:00
Lukas Wirth
ff56cb6e49
Extract common fields out of ProjectWorkspace variants
2024-04-21 17:03:02 +02:00
Lukas Wirth
a2ed6837bc
Allow rust files to be used linkedProjects
2024-04-21 16:26:55 +02:00
Lukas Wirth
46f05543a2
Patch cargo script root files back to manifest
2024-04-19 18:25:10 +02:00
Lukas Wirth
0b24599cf9
Re-implement dependecny tracking for cargo script
2024-04-19 18:25:06 +02:00
hkalbasi
2f828073aa
Add minimal support for cargo scripts
2024-04-19 18:23:06 +02:00
Lukas Wirth
ee10f9f5cd
Cleanup cfg and env handling in project-model
2024-04-19 10:41:08 +02:00
Alexis (Poliorcetics) Bourget
174af88e76
feat: Add rust-analyzer.cargo.allTargets
to configure passing --all-targets
to cargo invocations
2024-03-27 01:57:41 +01:00
Lukas Wirth
ea447062c4
fix: Don't assert paths being utf8 when filtering them in the watcher
2024-03-22 08:04:50 +01:00
Lukas Wirth
255a8aef92
Move Edition into span crate
2024-03-21 10:21:44 +01:00
Lukas Wirth
399dbc074b
internal: Enforce utf8 paths
2024-03-19 15:39:00 +01:00
Lukas Wirth
6b48133e9a
Prefer cargo proxies when setting RUSTUP_TOOLCHAIN
2024-03-05 10:44:17 +01:00
Lukas Wirth
64c17a9b2e
fix: rust-project.json projects not preferring sysroot rustc
2024-02-27 10:20:07 +01:00
bors
3bb8d3a32f
Auto merge of #16247 - Veykril:opqueues, r=Veykril
...
fix: Fix build scripts not being rebuilt in some occasions
Also makes proc-macro changed flag setting async, we don't wanna block `process_changes` on the database as that is on the main thread!
2024-02-14 14:33:16 +00:00
Lukas Wirth
1e6cef94df
fix: Fix build scripts not being rebuilt in some occasions
2024-02-14 15:20:45 +01:00
Lukas Wirth
465ddef7cc
fix: Set RUSTUP_TOOLCHAIN and invoke the proxies instead of directly invoking sysroot binaries
2024-02-14 15:13:45 +01:00
Lukas Wirth
8f3209ba27
internal: tool discovery prefers sysroot tools
2024-02-12 12:08:18 +01:00
Tetsuharu Ohzeki
5d1f2835af
project-model: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Lukas Wirth
9e8a0fae0c
Lint debug prints and disallowed types with clippy
2024-02-01 17:57:27 +01:00
Johann Hemmann
4858a3784d
op_ref
2024-01-19 17:31:01 +01:00
Johann Hemmann
fad4fa163c
cargo clippy --fix
2024-01-18 13:59:49 +01:00
Lukas Wirth
c7eb52dd7b
internal: Add unstable config for loading the sysroot sources via cargo metadata
2024-01-15 09:59:32 +01:00
Matthias Krüger
476e10e961
remove redundant clones
2024-01-07 00:17:48 +01:00
Laurențiu Nicola
fec0e04fc2
Add minimal support for the 2024 edition
2023-12-18 17:10:20 +02:00
Victor Song
53b6700594
Add dedicated target_dir
field to CargoConfig
and FlycheckConfig
...
Add dedicated field for `target_dir` in the configurations for Cargo
and Flycheck. Also change the directory to be a `PathBuf` as opposed to
a `String` to be more appropriate to the operating system.
2023-10-09 02:15:05 -05:00
Ryo Yoshida
dfb32cdf10
Optimize DepKindInfo
-> DepKind
conversion
...
We don't need to allocate a `Vec`, nor do we need sorting.
2023-07-21 17:10:42 +09:00
Alex Kladov
6303551cb8
internal: use consistent style for error handling
2023-06-19 13:01:47 +01:00
bors
e8dbb8e2e0
Auto merge of #14911 - Veykril:config-cfg, r=Veykril
...
Allow setting cfgs
Fixes https://github.com/rust-lang/rust-analyzer/issues/14365
2023-05-30 12:00:14 +00:00
Lukas Wirth
cea84427e0
Allow setting cfgs
2023-05-28 13:43:21 +02:00
Lukas Wirth
35b208aaa7
Filter out unused cargo features from config
2023-05-26 22:16:34 +02:00
bors
a7168a8c6f
Auto merge of #14712 - Veykril:metadata-extra-args, r=Veykril
...
fix: Only pass unstable flags to cargo metadata from extra args config
2023-05-02 16:34:39 +00:00
Lukas Wirth
16b3febcf5
Only pass unstable flags to cargo metadata from extra args config
2023-05-02 17:33:58 +02:00
Ddystopia
fc888b583d
Add target_directory
path to CargoWorkspace
2023-05-02 17:06:31 +02:00
jakhh8
62c9d96c67
fix
2023-04-24 10:13:29 +02:00
jakhh8
f502169f1c
minor: use extra_args for fetching workspace
2023-04-23 21:19:40 +02:00
Lukas Wirth
d9c7d28e0d
Report sysroot and rustc crate loading errors
2023-03-15 11:35:34 +01:00
Laurențiu Nicola
cfc9d5cd3b
Pass flycheck extra args when running build scripts
2023-03-11 19:28:02 +02:00
Lukas Wirth
cb9a5b9549
Support sysroot library source being defined inside the workspace
2023-02-06 12:07:33 +01:00
Daniel Eades
4f8ffd0ba4
remove unnecessary lifetimes that can be elided
2023-01-02 15:02:54 +00:00
Daniel Eades
ed128872eb
remove needless borrows
2023-01-02 14:52:32 +00:00
Yuri Astrakhan
e341e996f7
Clippy-fix explicit auto-deref
...
Seems like these can be safely fixed. With one, I was particularly
surprised -- `Some(pats) => &**pats,` in body.rs?
```
cargo clippy --fix -- -A clippy::all -D clippy::explicit_auto_deref
```
2022-12-23 02:52:14 -05:00
Alexis (Poliorcetics) Bourget
0d4737adb6
feat: Support passing multiple targets to cargo (for Rust 1.64.0+)
2022-11-11 14:36:07 +01:00
Lukas Wirth
0f8904ec9c
Implement invocation location config
2022-10-22 23:33:03 +02:00
bors
a77ac93b2a
Auto merge of #13128 - Veykril:invocation-strategy, r=Veykril
...
Implement invocation strategy config
Fixes https://github.com/rust-lang/rust-analyzer/issues/10793
This allows to change how we run build scripts (and `checkOnSave`), exposing two configs:
- `once`: run the specified command once in the project root (the working dir of the server)
- `per_workspace`: run the specified command per workspace in the corresponding workspace
This also applies to `checkOnSave` likewise, though `once_in_root` is useless there currently, due to https://github.com/rust-lang/cargo/issues/11007
2022-10-19 21:53:19 +00:00