Florian Diebold
584bddef0c
Don't panic on crates depending on themselves
...
Fixes #3883 .
2020-06-19 18:38:03 +02:00
Aleksey Kladov
d8a5d39c2d
Make relevant_crates return a Set
2020-06-11 11:30:06 +02:00
Aleksey Kladov
d8571e076c
Simplify
2020-06-09 13:17:22 +02:00
bors[bot]
f133159ec0
Merge #4760
...
4760: Minimize FileLoader interface r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-06-05 15:23:22 +00:00
Aleksey Kladov
bbb40d7463
Minimize FileLoader interface
2020-06-05 17:22:56 +02:00
bors[bot]
4029628f15
Merge #4729 #4748
...
4729: Hover actions r=matklad a=vsrs
This PR adds a `hoverActions` LSP extension and a `Go to Implementations` action as an example:

4748: Add an `ImportMap` and use it to resolve item paths in `find_path` r=matklad a=jonas-schievink
Removes the "go faster" queries I added in https://github.com/rust-analyzer/rust-analyzer/pull/4501 and https://github.com/rust-analyzer/rust-analyzer/pull/4506 . I've checked this PR on the rustc code base and the assists are still fast.
This should fix https://github.com/rust-analyzer/rust-analyzer/issues/4515 .
Note that this does introduce a change in behavior: We now always refer to items defined in external crates using paths through the external crate. Previously we could also use a local path (if for example the extern crate was reexported locally), as seen in the changed test. If that is undesired I can fix that, but the test didn't say why the previous behavior would be preferable.
Co-authored-by: vsrs <vit@conrlab.com >
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com >
2020-06-05 15:14:35 +00:00
Aleksey Kladov
bba374bab2
More direct signature for resolve_path
2020-06-05 15:07:30 +02:00
Aleksey Kladov
e63c00f100
Rename resolve_relative_path -> resolve_path
...
For things like `concant!(env!("OUT_DIR"))`, we need to support abs paths
2020-06-05 14:58:30 +02:00
Jonas Schievink
d08c63cb9e
Add an ImportMap
2020-06-04 19:33:01 +02:00
Jeremy Kolb
a5cc9a8a9b
Fix some clippy perf warnings
2020-05-25 13:35:52 -04:00
Aleksey Kladov
f26b7928e0
Merge pull request #4495 from vsrs/fixture_meta
...
Test fixtures parsing improvements
2020-05-24 15:32:52 +02:00
vsrs
2c00bd8c6a
Propogate fixture meta to AnalysisHost
...
Except crate name.
2020-05-16 15:23:43 +03:00
vsrs
256fb7556e
Remove temporary FixtureEntry parsed_meta field.
2020-05-16 12:25:26 +03:00
vsrs
d901e0e709
Reimplement ra_db::fixture::ParsedMeta
...
in terms of test_utils::FixtureMeta
2020-05-16 11:57:41 +03:00
Timo Freiberg
e17193dc51
Expand fixture documentation a little
2020-05-10 16:51:12 +02:00
Timo Freiberg
8a5d14453e
Add fixture doc comment
2020-05-06 18:09:28 +02:00
Aleksey Kladov
b1d5817dd1
Convert code to text-size
2020-04-25 11:59:18 +02:00
Jeremy Kolb
d7f3d858ad
Some clippy fixes
2020-04-19 15:15:49 -04:00
bors[bot]
b1594f1080
Merge #3727
...
3727: Introduce ra_proc_macro r=matklad a=edwin0cheng
This PR implemented:
1. Reading dylib path of proc-macro crate from cargo check , similar to how `OUTDIR` is obtained.
2. Added a new crate `ra_proc_macro` and implement the foot-work for reading result from external proc-macro expander.
3. Added a struct `ProcMacroClient` , which will be responsible to the client side communication to the External process.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com >
2020-03-26 17:09:32 +00:00
Edwin Cheng
db162df264
Remove deps on tt_mbe
2020-03-27 00:46:40 +08:00
Aleksey Kladov
b7aaefb5a4
Minor incremental tests cleanup
2020-03-26 15:44:31 +01:00
Edwin Cheng
d0b6ed4441
Add ProcMacroClient
2020-03-26 03:29:45 +08:00
Emil Lauridsen
33c6c7abc6
Support loading OUT_DIR from cargo check at launch
2020-03-17 14:47:05 +01:00
Aleksey Kladov
9faea2364d
Use dyn Trait for working with databse
...
It improves compile time in `--release` mode quite a bit, it doesn't
really slow things down and, conceptually, it seems closer to what we
want the physical architecture to look like (we don't want to
monomorphise EVERYTHING in a single leaf crate).
2020-03-16 17:42:30 +01:00
Kirill Bulatov
92fd430dab
Use Display instead of a custom method
2020-03-16 12:03:43 +02: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
22f064cca7
Add resolve_extern_path in DB
2020-03-11 01:06:01 +08:00
Edwin Cheng
8153a0b3ef
Add ExternSourceId and env functions
2020-03-11 01:06:01 +08:00
Edwin Cheng
773f3afd36
Add fixture meta for single file fixture
2020-03-11 00:45:03 +08:00
Aleksey Kladov
100cbc57ce
Simplify
2020-03-09 11:19:03 +01:00
Aleksey Kladov
d0d5aa935b
Simplify
2020-03-09 11:17:39 +01:00
Aleksey Kladov
254ef1860b
Minimize API
2020-03-09 11:16:06 +01:00
Aleksey Kladov
0320ebdd10
Use Index for CrateGraph
2020-03-09 11:11:59 +01:00
Kirill Bulatov
e1aa96f2c5
Less abstract CrateData api
2020-03-09 11:26:46 +02:00
Kirill Bulatov
5cffef56e2
Consider crate declaration names
2020-03-08 23:00:50 +02:00
Aleksey Kladov
fb5891c433
Source map returns a result
...
cc #2236
2020-03-06 14:44:44 +01:00
Veetaha
4255bc70e8
ra_db: removed a couple of explicit lifetimes
2020-02-22 17:00:39 +02:00
Kirill Bulatov
f6816c253b
Update versions
2020-02-18 16:12:40 +02:00
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
Aleksey Kladov
c0fa5e2246
Rename the binary to rust-analyzer
2020-02-18 12:33:16 +01:00
Kirill Bulatov
78092c7c66
Apply the reviews suggestions
2020-02-05 12:47:28 +02:00
Kirill Bulatov
2b9952625b
Normalize dashes in crate names
2020-02-05 11:53:54 +02:00
Michal Terepeta
d761435ba0
Remove the Default impl for SourceRoot
...
Let's be always explicit whether we create a library (i.e., an immutable
dependency) or a local `SourceRoot`, since it can have a large impact on
the validation performance in salsa. (we found it the hard way recently,
where the `Default` instance made it quite tricky to spot a bug)
Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com >
2020-01-08 19:42:27 +01:00
Vincent Rouillé
b437dca4bd
Run rustfmt with respect to Cargo.toml edition
2019-12-04 23:05:01 +01:00
Aleksey Kladov
757e593b25
rename ra_ide_api -> ra_ide
2019-11-27 21:35:06 +03:00
Aleksey Kladov
131c2da6bf
⬆️ salsa
2019-11-26 11:29:20 +03:00
Aleksey Kladov
53506a7552
Pull macro up
2019-11-24 14:13:51 +03:00
Aleksey Kladov
f4b1fb1554
Reorder
2019-11-22 14:12:45 +03:00
Aleksey Kladov
0861ac061e
Cleanup errors
2019-11-22 14:08:18 +03:00