Go to file
bors[bot] e42ff91f00
Merge #10743
10743: feat: index fewer crates on startup/reload r=jonas-schievink a=jonas-schievink

Before this PR, we used to index every crate in the `CrateGraph`, which includes every test, benchmark and example of all packages everywhere. The point of indexing is to speed up future queries, so indexing lots of tiny crates users are unlikely to open isn't really helpful.

This PR instead makes us index only the transitive dependencies of all workspace crates.

This reduces the number of crates we index in the rust-analyzer repo from 617 to 177 (!). Time is not impacted by that much, because most of the skipped crates are tiny.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-11-11 13:45:20 +00:00
.cargo xtask: replace "lint" command by a simply cargo alias 2021-03-14 13:36:45 +01:00
.github Type-check TS on CI and also turn off the strict setting useUnknownInCatchVariables 2021-11-04 01:23:45 +02:00
.vscode
assets Simplified the dot in the wide logo 2021-10-13 01:41:12 +03:00
bench_data
crates Prime a more reasonable set of crates 2021-11-11 14:44:12 +01:00
docs Show how to create ~/.local/bin 2021-11-05 19:32:55 +02:00
editors/code Merge #10688 2021-11-08 13:37:34 +00:00
lib Set MSRV 2021-10-23 15:07:11 +03:00
xtask Use .into_iter() method on array to avoid dereference 2021-11-03 16:13:47 +11:00
.gitattributes Mark large benchmark data files as binary to filter greps 2021-09-22 12:51:58 -07:00
.gitignore support goto definition and find references 2021-09-26 10:04:02 +03:30
bors.toml
Cargo.lock Bump chalk 2021-11-09 20:05:04 +02:00
Cargo.toml Drop resolver and authors manifest entries 2021-10-25 18:12:40 +03:00
LICENSE-APACHE
LICENSE-MIT
PRIVACY.md Consolidate the privacy notes 2021-06-15 20:07:59 +03:00
README.md Consolidate the privacy notes 2021-06-15 20:07:59 +03:00
rustfmt.toml

rust-analyzer logo

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

Work on rust-analyzer is sponsored by

Ferrous Systems

Quick Start

https://rust-analyzer.github.io/manual.html#installation

Documentation

If you want to contribute to rust-analyzer or are just curious about how things work under the hood, check the ./docs/dev folder.

If you want to use rust-analyzer's language server with your editor of choice, check the manual folder. It also contains some tips & tricks to help you be more productive when using rust-analyzer.

Security and Privacy

See the corresponding sections of the manual.

Communication

For usage and troubleshooting requests, please use "IDEs and Editors" category of the Rust forum:

https://users.rust-lang.org/c/ide/14

For questions about development and implementation, join rust-analyzer working group on Zulip:

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer

License

Rust analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.