diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dev/README.md | 16 | ||||
-rw-r--r-- | docs/dev/architecture.md | 2 | ||||
-rw-r--r-- | docs/user/generated_config.adoc | 12 | ||||
-rw-r--r-- | docs/user/manual.adoc | 14 |
4 files changed, 36 insertions, 8 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md index 16b23adc6..e81f1e74c 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md | |||
@@ -1,6 +1,6 @@ | |||
1 | # Contributing Quick Start | 1 | # Contributing Quick Start |
2 | 2 | ||
3 | Rust Analyzer is an ordinary Rust project, which is organized as a Cargo workspace, builds on stable and doesn't depend on C libraries. | 3 | rust-analyzer is an ordinary Rust project, which is organized as a Cargo workspace, builds on stable and doesn't depend on C libraries. |
4 | So, just | 4 | So, just |
5 | 5 | ||
6 | ``` | 6 | ``` |
@@ -9,18 +9,18 @@ $ cargo test | |||
9 | 9 | ||
10 | should be enough to get you started! | 10 | should be enough to get you started! |
11 | 11 | ||
12 | To learn more about how rust-analyzer works, see [./architecture.md](./architecture.md) document. | 12 | To learn more about how rust-analyzer works, see [./architecture.md](./architecture.md). |
13 | It also explains the high-level layout of the source code. | 13 | It also explains the high-level layout of the source code. |
14 | Do skim through that document. | 14 | Do skim through that document. |
15 | 15 | ||
16 | We also publish rustdoc docs to pages: https://rust-analyzer.github.io/rust-analyzer/ide/. | 16 | We also publish rustdoc docs to pages: https://rust-analyzer.github.io/rust-analyzer/ide/. |
17 | Note though, that internal documentation is very incomplete. | 17 | Note though, that the internal documentation is very incomplete. |
18 | 18 | ||
19 | Various organizational and process issues are discussed in this document. | 19 | Various organizational and process issues are discussed in this document. |
20 | 20 | ||
21 | # Getting in Touch | 21 | # Getting in Touch |
22 | 22 | ||
23 | Rust Analyzer is a part of [RLS-2.0 working | 23 | rust-analyzer is a part of the [RLS-2.0 working |
24 | group](https://github.com/rust-lang/compiler-team/tree/6a769c13656c0a6959ebc09e7b1f7c09b86fb9c0/working-groups/rls-2.0). | 24 | group](https://github.com/rust-lang/compiler-team/tree/6a769c13656c0a6959ebc09e7b1f7c09b86fb9c0/working-groups/rls-2.0). |
25 | Discussion happens in this Zulip stream: | 25 | Discussion happens in this Zulip stream: |
26 | 26 | ||
@@ -33,7 +33,7 @@ https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer | |||
33 | * [E-has-instructions](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-has-instructions) | 33 | * [E-has-instructions](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-has-instructions) |
34 | issues have links to the code in question and tests. | 34 | issues have links to the code in question and tests. |
35 | * [Broken Window](https://github.com/rust-analyzer/rust-analyzer/issues?q=is:issue+is:open+label:%22Broken+Window%22) | 35 | * [Broken Window](https://github.com/rust-analyzer/rust-analyzer/issues?q=is:issue+is:open+label:%22Broken+Window%22) |
36 | are issues which are not critical by themselves, but which should be fixed ASAP regardless, to avoid accumulation of technical debt. | 36 | are issues which are not necessarily critical by themselves, but which should be fixed ASAP regardless, to avoid accumulation of technical debt. |
37 | * [E-easy](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy), | 37 | * [E-easy](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy), |
38 | [E-medium](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-medium), | 38 | [E-medium](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-medium), |
39 | [E-hard](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-hard), | 39 | [E-hard](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AE-hard), |
@@ -42,7 +42,9 @@ https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer | |||
42 | * [S-actionable](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AS-actionable) and | 42 | * [S-actionable](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AS-actionable) and |
43 | [S-unactionable](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AS-unactionable) | 43 | [S-unactionable](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3AS-unactionable) |
44 | specify if there are concrete steps to resolve or advance an issue. Roughly, actionable issues need only work to be fixed, | 44 | specify if there are concrete steps to resolve or advance an issue. Roughly, actionable issues need only work to be fixed, |
45 | while unactionable ones are effectively wont-fix. Each triaged issue should have one of these labels. | 45 | while unactionable ones are blocked either on user feedback (providing a reproducible example), or on larger architectural |
46 | work or decisions. This classification is descriptive, not prescriptive, and might be wrong: Any unactionable issue might have a simple fix that we missed. | ||
47 | Each triaged issue should have one of these labels. | ||
46 | * [fun](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3Afun) | 48 | * [fun](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%3Afun) |
47 | is for cool, but probably hard stuff. | 49 | is for cool, but probably hard stuff. |
48 | * [Design](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%Design) | 50 | * [Design](https://github.com/rust-analyzer/rust-analyzer/issues?q=is%3Aopen+is%3Aissue+label%Design) |
@@ -206,7 +208,7 @@ Release process is handled by `release`, `dist` and `promote` xtasks, `release` | |||
206 | ./rust-rust-analyzer # Note the name! | 208 | ./rust-rust-analyzer # Note the name! |
207 | ``` | 209 | ``` |
208 | 210 | ||
209 | Additionally, it assumes that remote for `rust-analyzer` is called `upstream` (I use `origin` to point to my fork). | 211 | Additionally, it assumes that the remote for `rust-analyzer` is called `upstream` (I use `origin` to point to my fork). |
210 | 212 | ||
211 | `release` calls the GitHub API calls to scrape pull request comments and categorize them in the changelog. | 213 | `release` calls the GitHub API calls to scrape pull request comments and categorize them in the changelog. |
212 | This step uses the `curl` and `jq` applications, which need to be available in `PATH`. | 214 | This step uses the `curl` and `jq` applications, which need to be available in `PATH`. |
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md index 3de1b99a5..721c555ab 100644 --- a/docs/dev/architecture.md +++ b/docs/dev/architecture.md | |||
@@ -428,7 +428,7 @@ Rather than spawning futures or scheduling callbacks (open), the event loop acce | |||
428 | It's easy to see all the things that trigger rust-analyzer processing, together with their performance | 428 | It's easy to see all the things that trigger rust-analyzer processing, together with their performance |
429 | 429 | ||
430 | rust-analyzer includes a simple hierarchical profiler (`hprof`). | 430 | rust-analyzer includes a simple hierarchical profiler (`hprof`). |
431 | It is enabled with `RA_PROFILE='*>50` env var (log all (`*`) actions which take more than `50` ms) and produces output like: | 431 | It is enabled with `RA_PROFILE='*>50'` env var (log all (`*`) actions which take more than `50` ms) and produces output like: |
432 | 432 | ||
433 | ``` | 433 | ``` |
434 | 85ms - handle_completion | 434 | 85ms - handle_completion |
diff --git a/docs/user/generated_config.adoc b/docs/user/generated_config.adoc index dbd9a3503..34a91486b 100644 --- a/docs/user/generated_config.adoc +++ b/docs/user/generated_config.adoc | |||
@@ -119,6 +119,7 @@ similar option. | |||
119 | + | 119 | + |
120 | -- | 120 | -- |
121 | Whether to add argument snippets when completing functions. | 121 | Whether to add argument snippets when completing functions. |
122 | Only applies when `#rust-analyzer.completion.addCallParenthesis#` is set. | ||
122 | -- | 123 | -- |
123 | [[rust-analyzer.completion.addCallParenthesis]]rust-analyzer.completion.addCallParenthesis (default: `true`):: | 124 | [[rust-analyzer.completion.addCallParenthesis]]rust-analyzer.completion.addCallParenthesis (default: `true`):: |
124 | + | 125 | + |
@@ -180,6 +181,11 @@ List of warnings that should be displayed with info severity. | |||
180 | The warnings will be indicated by a blue squiggly underline in code | 181 | The warnings will be indicated by a blue squiggly underline in code |
181 | and a blue icon in the `Problems Panel`. | 182 | and a blue icon in the `Problems Panel`. |
182 | -- | 183 | -- |
184 | [[rust-analyzer.experimental.procAttrMacros]]rust-analyzer.experimental.procAttrMacros (default: `false`):: | ||
185 | + | ||
186 | -- | ||
187 | Expand attribute macros. | ||
188 | -- | ||
183 | [[rust-analyzer.files.watcher]]rust-analyzer.files.watcher (default: `"client"`):: | 189 | [[rust-analyzer.files.watcher]]rust-analyzer.files.watcher (default: `"client"`):: |
184 | + | 190 | + |
185 | -- | 191 | -- |
@@ -222,6 +228,12 @@ Whether to show `Go to Type Definition` action. Only applies when | |||
222 | Whether to show `Implementations` action. Only applies when | 228 | Whether to show `Implementations` action. Only applies when |
223 | `#rust-analyzer.hoverActions.enable#` is set. | 229 | `#rust-analyzer.hoverActions.enable#` is set. |
224 | -- | 230 | -- |
231 | [[rust-analyzer.hoverActions.references]]rust-analyzer.hoverActions.references (default: `false`):: | ||
232 | + | ||
233 | -- | ||
234 | Whether to show `References` action. Only applies when | ||
235 | `#rust-analyzer.hoverActions.enable#` is set. | ||
236 | -- | ||
225 | [[rust-analyzer.hoverActions.run]]rust-analyzer.hoverActions.run (default: `true`):: | 237 | [[rust-analyzer.hoverActions.run]]rust-analyzer.hoverActions.run (default: `true`):: |
226 | + | 238 | + |
227 | -- | 239 | -- |
diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc index 1f95df56e..9a8d76700 100644 --- a/docs/user/manual.adoc +++ b/docs/user/manual.adoc | |||
@@ -187,6 +187,20 @@ Install it with pacman, for example: | |||
187 | $ pacman -S rust-analyzer | 187 | $ pacman -S rust-analyzer |
188 | ---- | 188 | ---- |
189 | 189 | ||
190 | ==== Gentoo Linux | ||
191 | |||
192 | `rust-analyzer` is available in the GURU repository: | ||
193 | |||
194 | - https://gitweb.gentoo.org/repo/proj/guru.git/tree/dev-util/rust-analyzer-bin/rust-analyzer-bin-9999.ebuild[`dev-util/rust-analyzer-bin-9999`] (the https://github.com/rust-analyzer/rust-analyzer/releases/latest[latest release] as a live binary ebuild) | ||
195 | |||
196 | If not already, GURU must be enabled (e.g. using `app-eselect/eselect-repository`) and sync'd before running `emerge`: | ||
197 | |||
198 | [source,bash] | ||
199 | ---- | ||
200 | $ eselect repository enable guru && emaint sync -r guru | ||
201 | $ emerge rust-analyzer-bin | ||
202 | ---- | ||
203 | |||
190 | === Emacs | 204 | === Emacs |
191 | 205 | ||
192 | Note this excellent https://robert.kra.hn/posts/2021-02-07_rust-with-emacs/[guide] from https://github.com/rksm[@rksm]. | 206 | Note this excellent https://robert.kra.hn/posts/2021-02-07_rust-with-emacs/[guide] from https://github.com/rksm[@rksm]. |