aboutsummaryrefslogtreecommitdiff
path: root/docs/user
diff options
context:
space:
mode:
Diffstat (limited to 'docs/user')
-rw-r--r--docs/user/README.md26
-rw-r--r--docs/user/features.md7
2 files changed, 27 insertions, 6 deletions
diff --git a/docs/user/README.md b/docs/user/README.md
index 036b51d58..f1628d6a4 100644
--- a/docs/user/README.md
+++ b/docs/user/README.md
@@ -1,6 +1,6 @@
1The main interface to rust-analyzer is the 1The main interface to rust-analyzer is the
2[LSP](https://microsoft.github.io/language-server-protocol/) implementation. To 2[LSP](https://microsoft.github.io/language-server-protocol/) implementation. To
3install lsp server, use `cargo install-ra --server`, which is a shorthand for `cargo 3install lsp server, use `cargo xtask install --server`, which is a shorthand for `cargo
4install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you 4install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you
5should be able to use it with any LSP-compatible editor. We use custom 5should be able to use it with any LSP-compatible editor. We use custom
6extensions to LSP, so special client-side support is required to take full 6extensions to LSP, so special client-side support is required to take full
@@ -33,7 +33,7 @@ following commands:
33``` 33```
34$ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1 34$ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1
35$ cd rust-analyzer 35$ cd rust-analyzer
36$ cargo install-ra 36$ cargo xtask install
37``` 37```
38 38
39The automatic installation is expected to *just work* for common cases, if it 39The automatic installation is expected to *just work* for common cases, if it
@@ -58,9 +58,28 @@ Beyond basic LSP features, there are some extension commands which you can
58invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md) 58invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md)
59for details. 59for details.
60 60
61For updates, pull the latest changes from the master branch, run `cargo install-ra` again, and **restart** VS Code instance. 61For updates, pull the latest changes from the master branch, run `cargo xtask install` again, and **restart** VS Code instance.
62See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed. 62See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed.
63 63
64### VS Code Remote
65
66You can also use `rust-analyzer` with the Visual Studio Code Remote extensions
67(Remote SSH, Remote WSL, Remote Containers). In this case, however, you have to
68manually install the `.vsix` package:
69
701. Build the extension on the remote host using the instructions above (ignore the
71 error if `code` cannot be found in your PATH: VSCode doesn't need to be installed
72 on the remote host).
732. In Visual Studio Code open a connection to the remote host.
743. Open the Extensions View (`View > Extensions`, keyboard shortcut: `Ctrl+Shift+X`).
754. From the top-right kebab menu (`ยทยทยท`) select `Install from VSIX...`
765. Inside the `rust-analyzer` directory find the `editors/code` subdirectory and choose
77 the `ra-lsp-0.0.1.vsix` file.
786. Restart Visual Studio Code and re-establish the connection to the remote host.
79
80In case of errors please make sure that `~/.cargo/bin` is in your `PATH` on the remote
81host.
82
64### Settings 83### Settings
65 84
66* `rust-analyzer.highlightingOn`: enables experimental syntax highlighting 85* `rust-analyzer.highlightingOn`: enables experimental syntax highlighting
@@ -79,6 +98,7 @@ See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) f
79* `rust-analyzer.cargo-watch.command`: `cargo-watch` command. (e.g: `clippy` will run as `cargo watch -x clippy` ) 98* `rust-analyzer.cargo-watch.command`: `cargo-watch` command. (e.g: `clippy` will run as `cargo watch -x clippy` )
80* `rust-analyzer.cargo-watch.arguments`: cargo-watch check arguments. 99* `rust-analyzer.cargo-watch.arguments`: cargo-watch check arguments.
81 (e.g: `--features="shumway,pdf"` will run as `cargo watch -x "check --features="shumway,pdf""` ) 100 (e.g: `--features="shumway,pdf"` will run as `cargo watch -x "check --features="shumway,pdf""` )
101* `rust-analyzer.cargo-watch.ignore`: list of patterns for cargo-watch to ignore (will be passed as `--ignore`)
82* `rust-analyzer.trace.server`: enables internal logging 102* `rust-analyzer.trace.server`: enables internal logging
83* `rust-analyzer.trace.cargo-watch`: enables cargo-watch logging 103* `rust-analyzer.trace.cargo-watch`: enables cargo-watch logging
84* `RUST_SRC_PATH`: environment variable that overwrites the sysroot 104* `RUST_SRC_PATH`: environment variable that overwrites the sysroot
diff --git a/docs/user/features.md b/docs/user/features.md
index 757a02838..8b7a8d7fc 100644
--- a/docs/user/features.md
+++ b/docs/user/features.md
@@ -459,17 +459,18 @@ fn foo<T: u32, F: FnOnce(T) -> T>() {}
459fn foo<T, F>() where T: u32, F: FnOnce(T) -> T {} 459fn foo<T, F>() where T: u32, F: FnOnce(T) -> T {}
460``` 460```
461 461
462- Make raw string 462- Make raw string unescaped
463 463
464```rust 464```rust
465// before: 465// before:
466fn f() { 466fn f() {
467 let s = <|>"abcd"; 467 let s = <|>"ab\ncd";
468} 468}
469 469
470// after: 470// after:
471fn f() { 471fn f() {
472 let s = <|>r"abcd"; 472 let s = <|>r#"ab
473cd"#;
473} 474}
474``` 475```
475 476