|
1 | 1 | # rust-analyzer
|
2 | 2 |
|
3 |
| -At its core, rust-analyzer is a **library** for semantic analysis of |
4 |
| -Rust code as it changes over time. This manual focuses on a specific |
5 |
| -usage of the library -- running it as part of a server that implements |
| 3 | +rust-analyzer is a language server that provides IDE functionality for |
| 4 | +writing Rust programs. You can use it with any editor that supports |
6 | 5 | the [Language Server
|
7 |
| -Protocol](https://microsoft.github.io/language-server-protocol/) (LSP). |
8 |
| -The LSP allows various code editors, like VS Code, Emacs or Vim, to |
9 |
| -implement semantic features like completion or goto definition by |
10 |
| -talking to an external language server process. |
| 6 | +Protocol](https://microsoft.github.io/language-server-protocol/) (VS |
| 7 | +Code, Vim, Emacs, Zed, etc). |
| 8 | + |
| 9 | +rust-analyzer features include go-to-definition, find-all-references, |
| 10 | +refactorings and code completion. rust-analyzer also supports |
| 11 | +integrated formatting (with rustfmt) and integrated diagnostics (with |
| 12 | +rustc and clippy). |
| 13 | + |
| 14 | +Internally, rust-analyzer is structured as a set of libraries for |
| 15 | +analyzing Rust code. See |
| 16 | +[Architecture](https://rust-analyzer.github.io/book/contributing/architecture.html) |
| 17 | +for more details. |
11 | 18 |
|
12 | 19 | To improve this document, send a pull request:
|
13 | 20 | [https://github.com/rust-lang/rust-analyzer](https://github.com/rust-lang/rust-analyzer/blob/master/docs/book/README.md)
|
|
0 commit comments