aboutsummaryrefslogtreecommitdiff
path: root/docs/user
diff options
context:
space:
mode:
Diffstat (limited to 'docs/user')
-rw-r--r--docs/user/generated_config.adoc108
-rw-r--r--docs/user/manual.adoc9
2 files changed, 61 insertions, 56 deletions
diff --git a/docs/user/generated_config.adoc b/docs/user/generated_config.adoc
index 3025dc8d6..a76c99d1e 100644
--- a/docs/user/generated_config.adoc
+++ b/docs/user/generated_config.adoc
@@ -1,106 +1,108 @@
1rust-analyzer.assist.importMergeBehaviour (default: `"full"`):: 1[[rust-analyzer.assist.importMergeBehavior]]rust-analyzer.assist.importMergeBehavior (default: `"full"`)::
2 The strategy to use when inserting new imports or merging imports. 2 The strategy to use when inserting new imports or merging imports.
3rust-analyzer.assist.importPrefix (default: `"plain"`):: 3[[rust-analyzer.assist.importPrefix]]rust-analyzer.assist.importPrefix (default: `"plain"`)::
4 The path structure for newly inserted paths to use. 4 The path structure for newly inserted paths to use.
5rust-analyzer.callInfo.full (default: `true`):: 5[[rust-analyzer.callInfo.full]]rust-analyzer.callInfo.full (default: `true`)::
6 Show function name and docs in parameter hints. 6 Show function name and docs in parameter hints.
7rust-analyzer.cargo.autoreload (default: `true`):: 7[[rust-analyzer.cargo.autoreload]]rust-analyzer.cargo.autoreload (default: `true`)::
8 Automatically refresh project info via `cargo metadata` on `Cargo.toml` changes. 8 Automatically refresh project info via `cargo metadata` on `Cargo.toml` changes.
9rust-analyzer.cargo.allFeatures (default: `false`):: 9[[rust-analyzer.cargo.allFeatures]]rust-analyzer.cargo.allFeatures (default: `false`)::
10 Activate all available features. 10 Activate all available features.
11rust-analyzer.cargo.features (default: `[]`):: 11[[rust-analyzer.cargo.features]]rust-analyzer.cargo.features (default: `[]`)::
12 List of features to activate. 12 List of features to activate.
13rust-analyzer.cargo.loadOutDirsFromCheck (default: `false`):: 13[[rust-analyzer.cargo.loadOutDirsFromCheck]]rust-analyzer.cargo.loadOutDirsFromCheck (default: `false`)::
14 Run `cargo check` on startup to get the correct value for package OUT_DIRs. 14 Run `cargo check` on startup to get the correct value for package OUT_DIRs.
15rust-analyzer.cargo.noDefaultFeatures (default: `false`):: 15[[rust-analyzer.cargo.noDefaultFeatures]]rust-analyzer.cargo.noDefaultFeatures (default: `false`)::
16 Do not activate the `default` feature. 16 Do not activate the `default` feature.
17rust-analyzer.cargo.target (default: `null`):: 17[[rust-analyzer.cargo.target]]rust-analyzer.cargo.target (default: `null`)::
18 Compilation target (target triple). 18 Compilation target (target triple).
19rust-analyzer.cargo.noSysroot (default: `false`):: 19[[rust-analyzer.cargo.noSysroot]]rust-analyzer.cargo.noSysroot (default: `false`)::
20 Internal config for debugging, disables loading of sysroot crates. 20 Internal config for debugging, disables loading of sysroot crates.
21rust-analyzer.checkOnSave.enable (default: `true`):: 21[[rust-analyzer.checkOnSave.enable]]rust-analyzer.checkOnSave.enable (default: `true`)::
22 Run specified `cargo check` command for diagnostics on save. 22 Run specified `cargo check` command for diagnostics on save.
23rust-analyzer.checkOnSave.allFeatures (default: `null`):: 23[[rust-analyzer.checkOnSave.allFeatures]]rust-analyzer.checkOnSave.allFeatures (default: `null`)::
24 Check with all features (will be passed as `--all-features`). Defaults to `#rust-analyzer.cargo.allFeatures#`. 24 Check with all features (will be passed as `--all-features`). Defaults to `#rust-analyzer.cargo.allFeatures#`.
25rust-analyzer.checkOnSave.allTargets (default: `true`):: 25[[rust-analyzer.checkOnSave.allTargets]]rust-analyzer.checkOnSave.allTargets (default: `true`)::
26 Check all targets and tests (will be passed as `--all-targets`). 26 Check all targets and tests (will be passed as `--all-targets`).
27rust-analyzer.checkOnSave.command (default: `"check"`):: 27[[rust-analyzer.checkOnSave.command]]rust-analyzer.checkOnSave.command (default: `"check"`)::
28 Cargo command to use for `cargo check`. 28 Cargo command to use for `cargo check`.
29rust-analyzer.checkOnSave.noDefaultFeatures (default: `null`):: 29[[rust-analyzer.checkOnSave.noDefaultFeatures]]rust-analyzer.checkOnSave.noDefaultFeatures (default: `null`)::
30 Do not activate the `default` feature. 30 Do not activate the `default` feature.
31rust-analyzer.checkOnSave.target (default: `null`):: 31[[rust-analyzer.checkOnSave.target]]rust-analyzer.checkOnSave.target (default: `null`)::
32 Check for a specific target. Defaults to `#rust-analyzer.cargo.target#`. 32 Check for a specific target. Defaults to `#rust-analyzer.cargo.target#`.
33rust-analyzer.checkOnSave.extraArgs (default: `[]`):: 33[[rust-analyzer.checkOnSave.extraArgs]]rust-analyzer.checkOnSave.extraArgs (default: `[]`)::
34 Extra arguments for `cargo check`. 34 Extra arguments for `cargo check`.
35rust-analyzer.checkOnSave.features (default: `null`):: 35[[rust-analyzer.checkOnSave.features]]rust-analyzer.checkOnSave.features (default: `null`)::
36 List of features to activate. Defaults to `#rust-analyzer.cargo.features#`. 36 List of features to activate. Defaults to `#rust-analyzer.cargo.features#`.
37rust-analyzer.checkOnSave.overrideCommand (default: `null`):: 37[[rust-analyzer.checkOnSave.overrideCommand]]rust-analyzer.checkOnSave.overrideCommand (default: `null`)::
38 Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option. 38 Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option.
39rust-analyzer.completion.addCallArgumentSnippets (default: `true`):: 39[[rust-analyzer.completion.addCallArgumentSnippets]]rust-analyzer.completion.addCallArgumentSnippets (default: `true`)::
40 Whether to add argument snippets when completing functions. 40 Whether to add argument snippets when completing functions.
41rust-analyzer.completion.addCallParenthesis (default: `true`):: 41[[rust-analyzer.completion.addCallParenthesis]]rust-analyzer.completion.addCallParenthesis (default: `true`)::
42 Whether to add parenthesis when completing functions. 42 Whether to add parenthesis when completing functions.
43rust-analyzer.completion.postfix.enable (default: `true`):: 43[[rust-analyzer.completion.postfix.enable]]rust-analyzer.completion.postfix.enable (default: `true`)::
44 Whether to show postfix snippets like `dbg`, `if`, `not`, etc. 44 Whether to show postfix snippets like `dbg`, `if`, `not`, etc.
45rust-analyzer.completion.autoimport.enable (default: `true`):: 45[[rust-analyzer.completion.autoimport.enable]]rust-analyzer.completion.autoimport.enable (default: `true`)::
46 Toggles the additional completions that automatically add imports when completed. Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled. 46 Toggles the additional completions that automatically add imports when completed. Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.
47rust-analyzer.diagnostics.enable (default: `true`):: 47[[rust-analyzer.diagnostics.enable]]rust-analyzer.diagnostics.enable (default: `true`)::
48 Whether to show native rust-analyzer diagnostics. 48 Whether to show native rust-analyzer diagnostics.
49rust-analyzer.diagnostics.enableExperimental (default: `true`):: 49[[rust-analyzer.diagnostics.enableExperimental]]rust-analyzer.diagnostics.enableExperimental (default: `true`)::
50 Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual. 50 Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.
51rust-analyzer.diagnostics.disabled (default: `[]`):: 51[[rust-analyzer.diagnostics.disabled]]rust-analyzer.diagnostics.disabled (default: `[]`)::
52 List of rust-analyzer diagnostics to disable. 52 List of rust-analyzer diagnostics to disable.
53rust-analyzer.diagnostics.warningsAsHint (default: `[]`):: 53[[rust-analyzer.diagnostics.warningsAsHint]]rust-analyzer.diagnostics.warningsAsHint (default: `[]`)::
54 List of warnings that should be displayed with info severity.\n\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the `Problems Panel`. 54 List of warnings that should be displayed with info severity.\n\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the `Problems Panel`.
55rust-analyzer.diagnostics.warningsAsInfo (default: `[]`):: 55[[rust-analyzer.diagnostics.warningsAsInfo]]rust-analyzer.diagnostics.warningsAsInfo (default: `[]`)::
56 List of warnings that should be displayed with hint severity.\n\nThe warnings will be indicated by faded text or three dots in code and will not show up in the `Problems Panel`. 56 List of warnings that should be displayed with hint severity.\n\nThe warnings will be indicated by faded text or three dots in code and will not show up in the `Problems Panel`.
57rust-analyzer.files.watcher (default: `"client"`):: 57[[rust-analyzer.files.watcher]]rust-analyzer.files.watcher (default: `"client"`)::
58 Controls file watching implementation. 58 Controls file watching implementation.
59rust-analyzer.hoverActions.debug (default: `true`):: 59[[rust-analyzer.hoverActions.debug]]rust-analyzer.hoverActions.debug (default: `true`)::
60 Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set. 60 Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.
61rust-analyzer.hoverActions.enable (default: `true`):: 61[[rust-analyzer.hoverActions.enable]]rust-analyzer.hoverActions.enable (default: `true`)::
62 Whether to show HoverActions in Rust files. 62 Whether to show HoverActions in Rust files.
63rust-analyzer.hoverActions.gotoTypeDef (default: `true`):: 63[[rust-analyzer.hoverActions.gotoTypeDef]]rust-analyzer.hoverActions.gotoTypeDef (default: `true`)::
64 Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set. 64 Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.
65rust-analyzer.hoverActions.implementations (default: `true`):: 65[[rust-analyzer.hoverActions.implementations]]rust-analyzer.hoverActions.implementations (default: `true`)::
66 Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set. 66 Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.
67rust-analyzer.hoverActions.run (default: `true`):: 67[[rust-analyzer.hoverActions.run]]rust-analyzer.hoverActions.run (default: `true`)::
68 Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set. 68 Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.
69rust-analyzer.hoverActions.linksInHover (default: `true`):: 69[[rust-analyzer.hoverActions.linksInHover]]rust-analyzer.hoverActions.linksInHover (default: `true`)::
70 Use markdown syntax for links in hover. 70 Use markdown syntax for links in hover.
71rust-analyzer.inlayHints.chainingHints (default: `true`):: 71[[rust-analyzer.inlayHints.chainingHints]]rust-analyzer.inlayHints.chainingHints (default: `true`)::
72 Whether to show inlay type hints for method chains. 72 Whether to show inlay type hints for method chains.
73rust-analyzer.inlayHints.maxLength (default: `null`):: 73[[rust-analyzer.inlayHints.maxLength]]rust-analyzer.inlayHints.maxLength (default: `null`)::
74 Maximum length for inlay hints. Default is unlimited. 74 Maximum length for inlay hints. Default is unlimited.
75rust-analyzer.inlayHints.parameterHints (default: `true`):: 75[[rust-analyzer.inlayHints.parameterHints]]rust-analyzer.inlayHints.parameterHints (default: `true`)::
76 Whether to show function parameter name inlay hints at the call site. 76 Whether to show function parameter name inlay hints at the call site.
77rust-analyzer.inlayHints.typeHints (default: `true`):: 77[[rust-analyzer.inlayHints.typeHints]]rust-analyzer.inlayHints.typeHints (default: `true`)::
78 Whether to show inlay type hints for variables. 78 Whether to show inlay type hints for variables.
79rust-analyzer.lens.debug (default: `true`):: 79[[rust-analyzer.lens.debug]]rust-analyzer.lens.debug (default: `true`)::
80 Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set. 80 Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
81rust-analyzer.lens.enable (default: `true`):: 81[[rust-analyzer.lens.enable]]rust-analyzer.lens.enable (default: `true`)::
82 Whether to show CodeLens in Rust files. 82 Whether to show CodeLens in Rust files.
83rust-analyzer.lens.implementations (default: `true`):: 83[[rust-analyzer.lens.implementations]]rust-analyzer.lens.implementations (default: `true`)::
84 Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set. 84 Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
85rust-analyzer.lens.run (default: `true`):: 85[[rust-analyzer.lens.run]]rust-analyzer.lens.run (default: `true`)::
86 Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set. 86 Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
87rust-analyzer.lens.methodReferences (default: `false`):: 87[[rust-analyzer.lens.methodReferences]]rust-analyzer.lens.methodReferences (default: `false`)::
88 Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set. 88 Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
89rust-analyzer.linkedProjects (default: `[]`):: 89[[rust-analyzer.linkedProjects]]rust-analyzer.linkedProjects (default: `[]`)::
90 Disable project auto-discovery in favor of explicitly specified set of projects.\n\nElements must be paths pointing to `Cargo.toml`, `rust-project.json`, or JSON objects in `rust-project.json` format. 90 Disable project auto-discovery in favor of explicitly specified set of projects.\n\nElements must be paths pointing to `Cargo.toml`, `rust-project.json`, or JSON objects in `rust-project.json` format.
91rust-analyzer.lruCapacity (default: `null`):: 91[[rust-analyzer.lruCapacity]]rust-analyzer.lruCapacity (default: `null`)::
92 Number of syntax trees rust-analyzer keeps in memory. Defaults to 128. 92 Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.
93rust-analyzer.notifications.cargoTomlNotFound (default: `true`):: 93[[rust-analyzer.notifications.cargoTomlNotFound]]rust-analyzer.notifications.cargoTomlNotFound (default: `true`)::
94 Whether to show `can't find Cargo.toml` error message. 94 Whether to show `can't find Cargo.toml` error message.
95rust-analyzer.procMacro.enable (default: `false`):: 95[[rust-analyzer.procMacro.enable]]rust-analyzer.procMacro.enable (default: `false`)::
96 Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be enabled. 96 Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be enabled.
97rust-analyzer.runnables.overrideCargo (default: `null`):: 97[[rust-analyzer.procMacro.server]]rust-analyzer.procMacro.server (default: `null`)::
98 Internal config, path to proc-macro server executable (typically, this is rust-analyzer itself, but we override this in tests).
99[[rust-analyzer.runnables.overrideCargo]]rust-analyzer.runnables.overrideCargo (default: `null`)::
98 Command to be executed instead of 'cargo' for runnables. 100 Command to be executed instead of 'cargo' for runnables.
99rust-analyzer.runnables.cargoExtraArgs (default: `[]`):: 101[[rust-analyzer.runnables.cargoExtraArgs]]rust-analyzer.runnables.cargoExtraArgs (default: `[]`)::
100 Additional arguments to be passed to cargo for runnables such as tests or binaries.\nFor example, it may be `--release`. 102 Additional arguments to be passed to cargo for runnables such as tests or binaries.\nFor example, it may be `--release`.
101rust-analyzer.rustcSource (default: `null`):: 103[[rust-analyzer.rustcSource]]rust-analyzer.rustcSource (default: `null`)::
102 Path to the rust compiler sources, for usage in rustc_private projects. 104 Path to the rust compiler sources, for usage in rustc_private projects.
103rust-analyzer.rustfmt.extraArgs (default: `[]`):: 105[[rust-analyzer.rustfmt.extraArgs]]rust-analyzer.rustfmt.extraArgs (default: `[]`)::
104 Additional arguments to `rustfmt`. 106 Additional arguments to `rustfmt`.
105rust-analyzer.rustfmt.overrideCommand (default: `null`):: 107[[rust-analyzer.rustfmt.overrideCommand]]rust-analyzer.rustfmt.overrideCommand (default: `null`)::
106 Advanced option, fully override the command rust-analyzer uses for formatting. 108 Advanced option, fully override the command rust-analyzer uses for formatting.
diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc
index d4121b401..990b11859 100644
--- a/docs/user/manual.adoc
+++ b/docs/user/manual.adoc
@@ -18,6 +18,9 @@ The LSP allows various code editors, like VS Code, Emacs or Vim, to implement se
18[.lead] 18[.lead]
19To improve this document, send a pull request: + 19To improve this document, send a pull request: +
20https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc] 20https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc]
21
22The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo xtask codegen` to create these and then `asciidoctor manual.adoc` to create an HTML copy.
23
21==== 24====
22 25
23If you have questions about using rust-analyzer, please ask them in the https://users.rust-lang.org/c/ide/14["`IDEs and Editors`"] topic of Rust users forum. 26If you have questions about using rust-analyzer, please ask them in the https://users.rust-lang.org/c/ide/14["`IDEs and Editors`"] topic of Rust users forum.
@@ -112,7 +115,7 @@ $ code --install-extension /path/to/rust-analyzer.vsix
112Copy the `rust-analyzer-{platform}` binary anywhere, then add the path to your settings.json, for example: 115Copy the `rust-analyzer-{platform}` binary anywhere, then add the path to your settings.json, for example:
113[source,json] 116[source,json]
114---- 117----
115{ "rust-analyzer.serverPath": "~/.local/bin/rust-analyzer-linux" } 118{ "rust-analyzer.server.path": "~/.local/bin/rust-analyzer-linux" }
116---- 119----
117 120
118==== Building From Source 121==== Building From Source
@@ -216,7 +219,7 @@ The are several LSP client implementations for vim or neovim:
216 https://github.com/fannheyward/coc-rust-analyzer[coc-rust-analyzer], 219 https://github.com/fannheyward/coc-rust-analyzer[coc-rust-analyzer],
217 this extension implements _most_ of the features supported in the VSCode extension: 220 this extension implements _most_ of the features supported in the VSCode extension:
218 * automatically install and upgrade stable/nightly releases 221 * automatically install and upgrade stable/nightly releases
219 * same configurations as VSCode extension, `rust-analyzer.serverPath`, `rust-analyzer.cargo.features` etc. 222 * same configurations as VSCode extension, `rust-analyzer.server.path`, `rust-analyzer.cargo.features` etc.
220 * same commands too, `rust-analyzer.analyzerStatus`, `rust-analyzer.ssr` etc. 223 * same commands too, `rust-analyzer.analyzerStatus`, `rust-analyzer.ssr` etc.
221 * inlay hints for variables and method chaining, _Neovim Only_ 224 * inlay hints for variables and method chaining, _Neovim Only_
222 * semantic highlighting is not implemented yet 225 * semantic highlighting is not implemented yet
@@ -339,7 +342,7 @@ interface Crate {
339 /// Path to the root module of the crate. 342 /// Path to the root module of the crate.
340 root_module: string; 343 root_module: string;
341 /// Edition of the crate. 344 /// Edition of the crate.
342 edition: "2015" | "2018"; 345 edition: "2015" | "2018" | "2021";
343 /// Dependencies 346 /// Dependencies
344 deps: Dep[]; 347 deps: Dep[];
345 /// Should this crate be treated as a member of current "workspace". 348 /// Should this crate be treated as a member of current "workspace".