Empowering everyone to build reliable and efficient software.
Go to file
bors[bot] 5148d6dc66
Merge #4405
4405: Make some stuff public so that they can be reused by other tools r=pksunkara a=pksunkara

So, my little experiment of building a code analysis tool using rust-analyzer is successful. I am going to proceed to build the tool now. This PR makes the needed things public.

I know there were some things about trying to change stuff regarding loading workspaces, which would make it more easier for other tools to reuse. But, until then, it should be okay using this `load_cargo` fn.

Btw, if I were publish my tool, I would need the `ra` crates to be released. Since @matklad told me that he doesn't want to care about breaking stuff, I would propose the following.

Every monday, during the weekly release, we release a new pre v1 minor version of all the crates. That way, we don't need to care about breaking stuff but still have rust-analyzer on crates.io.

I made https://github.com/pksunkara/cargo-workspaces to help release workspace crates easily.

So, coming week, we start with `0.1.0`, then week after that, we release `0.2.0` and then `0.3.0` etc.. until we decide on `1.0.0` which is probably when the compiler team also starts using the crates. There is no limit to the minor versions (we can even have `0.150.0` or `0.1500.0`), so I don't see anything wrong with this strategy.

Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-05-14 09:23:34 +00:00
.cargo Alternative quite tests alias 2019-11-20 22:22:32 +03:00
.github Use older ubuntu for releases 2020-05-11 21:32:48 +02:00
.vscode Build extension too 2020-04-28 22:32:23 +02:00
crates Merge #4405 2020-05-14 09:23:34 +00:00
docs Update features.md 2020-05-12 09:46:28 +02:00
editors/code Make some stuff public so that they can be reused by other tools 2020-05-14 11:14:46 +02:00
xtask Convert TODO about ParamList used in closures to a FIXME 2020-05-12 23:58:51 +03:00
.gitattributes Set text to autodetect and use LF 2019-11-14 19:44:37 -05:00
.gitignore cargo xtask dist 2020-03-04 18:18:20 +01:00
bors.toml Gate CI on windows build 2020-01-26 14:15:57 +01:00
Cargo.lock Update crates 2020-05-13 08:44:15 -04:00
Cargo.toml Extend analysis-stats a bit 2020-02-15 18:04:01 +01:00
LICENSE-APACHE Licenses 2018-01-10 22:47:04 +03:00
LICENSE-MIT Licenses 2018-01-10 22:47:04 +03:00
README.md Link proper docs from readme 2020-03-05 17:26:47 +01:00
rustfmt.toml Remove forcing \n via rustfmt 2019-11-02 22:19:59 +03:00

rust-analyzer logo

rust-analyzer is an experimental 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. If you want to get involved, check the rls-2.0 working group:

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0

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.

Getting in touch

We are on the rust-lang Zulip!

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frls-2.2E0

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.