]> git.lizzy.rs Git - rust.git/blobdiff - ARCHITECTURE.md
Merge #895
[rust.git] / ARCHITECTURE.md
index 79adc932152cc18cb02f313b54670f2e09b9fb91..8602de56d7f31226f81008e37fe8c6d2e54b9e3b 100644 (file)
@@ -4,6 +4,9 @@ This document describes the high-level architecture of rust-analyzer.
 If you want to familiarize yourself with the code base, you are just
 in the right place!
 
+See also the [guide](./guide.md), which walks through a particular snapshot of
+rust-analyzer code base.
+
 ## The Big Picture
 
 ![](https://user-images.githubusercontent.com/1711539/50114578-e8a34280-0255-11e9-902c-7cfc70747966.png)
@@ -175,15 +178,20 @@ VS Code plugin
 
 To try out VS Code extensions, run `cargo install-code`.  This installs both the
 `ra_lsp_server` binary and the VS Code extension. To install only the binary, use
-`cargo install --path crates/ra_lsp_server --force`
+`cargo install-lsp` (shorthand for `cargo install --path crates/ra_lsp_server --force`)
 
 To see logs from the language server, set `RUST_LOG=info` env variable. To see
 all communication between the server and the client, use
 `RUST_LOG=gen_lsp_server=debug` (this will print quite a bit of stuff).
 
+There's `rust-analyzer: status` command which prints common high-level debug
+info. In particular, it prints info about memory usage of various data
+structures, and, if compiled with jemalloc support (`cargo jinstall-lsp` or 
+`cargo install --path crates/ra_lsp_server --force --features jemalloc`), includes
+ statistic about the heap.
+
 To run tests, just `cargo test`.
 
 To work on the VS Code extension, launch code inside `editors/code` and use `F5` to
 launch/debug. To automatically apply formatter and linter suggestions, use `npm
 run fix`.
-