Aleksey Kladov
422ae477ce
Unmix error handling when discovering workspaces
...
Hitting an io::Error is a legit problem. Finding more than one
Cargo.toml is not.
2020-04-16 22:35:50 +02:00
Aleksey Kladov
be2654b0ed
Decouple project loading from project discovery a bit
2020-04-16 22:02:10 +02:00
veetaha
6190caeeae
Migrate to privacy as per review commets
2020-04-02 21:09:03 +03:00
veetaha
bef899aa78
Less mutability
2020-04-02 21:07:05 +03:00
veetaha
a90401aeed
Migrate to iters some more
2020-04-02 21:07:05 +03:00
veetaha
987fb26a5b
Migrate to iterators
2020-04-02 21:07:05 +03:00
veetaha
b7d5172f69
Simpify workspace handling
2020-04-02 21:07:05 +03:00
o0Ignition0o
f643b4b5f5
Unique package by name and version.
...
This commit is a fixup of a bug I introduced by using a PackageId to refer to a crate when its name conflicts with a dependency.
It turns out the package id currently is `name version path` while cargo expects `name:version` as argument.
2020-04-02 09:00:44 +02:00
Aleksey Kladov
4936abdd49
Reduce scope of deserialization
2020-04-01 18:51:16 +02:00
Aleksey Kladov
1e012eb991
Move all config to config
2020-04-01 17:22:56 +02:00
Aleksey Kladov
8d27829781
Reduce deps
2020-03-31 19:29:11 +02:00
Aleksey Kladov
70730d7655
Rename cargo_watch -> flycheck
2020-03-31 17:29:40 +02:00
Edwin Cheng
1b8a26653f
Use matches in is_dylib
2020-03-31 22:20:18 +08:00
Edwin Cheng
503cbd3f4b
Implement ra_proc_macro client logic
2020-03-31 22:20:18 +08:00
o0Ignition0o
331d1db317
Add crate versions when running cargo -p commands.
...
Until now cargo commands with the -p flag would pass the package name only.
It doesn't play super well with the toml Renaming dependencies feature.
This commit specifies the package name and version when a cargo command is run with the -p flag,
to avoid ambiguities.
2020-03-31 14:43:39 +02:00
Edwin Cheng
d0b6ed4441
Add ProcMacroClient
2020-03-26 03:29:45 +08:00
veetaha
ce73c43848
ra_cargo_watch: return Result<> from run_cargo(), and don't read stderr for now
...
As stated by matklad, reading the stderr
should be done alngside with
stdout via select() (or I guess poll()),
there is no such implementation in stdlib,
since it is quite low level and platform-dependent and it
also requires quite a bit of unrelated code we don't use it for now.
As referenced by bjorn3, there is an implementation of the needed read2() function
in rustc compiletest. The better solution will be to extract this function
to a separate crate in future:
https://github.com/rust-analyzer/rust-analyzer/pull/3632#discussion_r395605298
2020-03-21 23:37:15 +02:00
Edwin Cheng
d62dd63256
Use target-name for crate-name
2020-03-22 01:09:38 +08:00
Aleksey Kladov
f840fcb2f5
Simplify Arena to use a generic index
2020-03-19 18:46:30 +01:00
Aleksey Kladov
fc230b943b
Simplify Sysroot
2020-03-19 17:59:31 +01:00
Aleksey Kladov
516fe293a8
More direct CargoWorkspace
2020-03-19 17:53:31 +01:00
Emil Lauridsen
2dd887de47
Use dyn-ref instead of impl to impact compile times the least
2020-03-17 14:56:53 +01:00
Emil Lauridsen
5af81b8456
Slight readablity improvement
2020-03-17 14:56:14 +01:00
Emil Lauridsen
e154132c91
Remove outDirOverrides
2020-03-17 14:55:44 +01:00
Emil Lauridsen
4fb79f2ca0
Support specifying OUT_DIR in json project
2020-03-17 14:47:05 +01:00
Emil Lauridsen
f5a2fcf8f5
Change existing OUT_DIR override config to make use of new infrastructure
2020-03-17 14:47:05 +01:00
Emil Lauridsen
33c6c7abc6
Support loading OUT_DIR from cargo check at launch
2020-03-17 14:47:05 +01:00
Kirill Bulatov
059ed25a3e
Fix crate display name dashes
2020-03-16 11:47:52 +02:00
Edwin Cheng
6ea7c31915
Add extern source
2020-03-11 11:04:02 +08:00
Edwin Cheng
e00a1e0b79
Setup Env in world
2020-03-11 01:06:01 +08:00
Kirill Bulatov
5cffef56e2
Consider crate declaration names
2020-03-08 23:00:50 +02:00
Veetaha
9f1adf8498
ra_project_model: migrate to Sysroot::alloc()
2020-03-01 00:16:57 +02:00
nmio
e15424c1b7
keep one CargoTomlNotFoundError
2020-02-29 13:05:10 +00:00
nmio
12b595e817
remove code used for testing
2020-02-27 22:06:51 +00:00
nmio
f9f8edfb06
fix unneeded body
2020-02-27 22:03:29 +00:00
nmio
9391b1c8ce
fixes and improvements
2020-02-27 21:52:10 +00:00
nmio
f1b7349e7a
clean up
2020-02-25 20:56:24 +00:00
nmio
34e3ef61bd
Initial debugging code
2020-02-24 16:38:59 +00:00
Yoshua Wuyts
b4970b0fe9
Add suggestion for failed path resolution
...
This adds https://github.com/rust-analyzer/rust-analyzer/issues/3245 as an inline help text for when path resolution fails.
2020-02-23 15:51:32 +01:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
Kirill Bulatov
e29dbdb139
Simplify the command execution
2020-02-18 00:38:01 +02:00
Kirill Bulatov
67d30312d0
Simplify the code further
2020-02-18 00:18:26 +02:00
Kirill Bulatov
addb61df36
Idempotent location and installation of rust src
2020-02-18 00:07:15 +02:00
Kirill Bulatov
5cea8a37b7
Install rust-src when it is not found
2020-02-17 23:40:34 +02:00
Aleksey Kladov
0bfebb8b20
Make AtomicX type resolve again
2020-02-14 19:33:39 +01:00
Adam Bratschi-Kaye
6f2cab1368
Add error context to failures in ra_project_model
using anyhow
crate ( #3119 )
...
Add error context to failures in ra_project_model using anyhow crate
2020-02-13 11:10:50 +01:00
Aleksey Kladov
5a71eb8749
More specific error if rustc --print sysroot
fails
2020-02-10 17:04:18 +01:00
Kirill Bulatov
78092c7c66
Apply the reviews suggestions
2020-02-05 12:47:28 +02:00
Aleksey Kladov
c2e3dba8cb
Add a FIXME note
2020-01-30 18:01:38 +01:00