2024-07-04 19:19:04 +02:00
|
|
|
|
# WARNING: DO NOT EDIT
|
|
|
|
|
# This file is generated with packages.<system>.rust-analyzer-options, which is run automatically by CI
|
|
|
|
|
{
|
|
|
|
|
"rust-analyzer.assist.emitMustUse" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Insert #[must_use] when generating `as_` methods for enum variants.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.assist.expressionFillDefault" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Placeholder expression to use for missing expressions in assists.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- todo: Fill missing expressions with the `todo` macro
|
|
|
|
|
- default: Fill missing expressions with reasonable defaults, `new` or `default` constructors.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "todo";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"todo"
|
|
|
|
|
"default"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-07-13 19:32:34 +00:00
|
|
|
|
"rust-analyzer.assist.preferSelf" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Prefer to use `Self` over the type name when inserting a type (e.g. in "fill match arms" assist).
|
2025-07-13 19:32:34 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-13 22:39:48 +00:00
|
|
|
|
"rust-analyzer.assist.termSearch.borrowcheck" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Enable borrow checking for term search code assists. If set to false, also there will be
|
|
|
|
|
more suggestions, but some of them may not borrow-check.
|
2024-07-13 22:39:48 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.assist.termSearch.fuel" = {
|
|
|
|
|
description = ''
|
2024-07-13 22:39:48 +00:00
|
|
|
|
Term search fuel in "units of work" for assists (Defaults to 1800).
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
2024-07-13 22:39:48 +00:00
|
|
|
|
pluginDefault = 1800;
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cachePriming.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Warm up caches on project load.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cachePriming.numThreads" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
How many worker threads to handle priming caches. The default `0` means to pick
|
|
|
|
|
automatically.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- physical: Use the number of physical cores
|
|
|
|
|
- logical: Use the number of logical cores
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "physical";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "number";
|
|
|
|
|
maximum = 255;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"physical"
|
|
|
|
|
"logical"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.allTargets" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Pass `--all-targets` to cargo invocation.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.autoreload" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Automatically refresh project info via `cargo metadata` on
|
|
|
|
|
`Cargo.toml` or `.cargo/config.toml` changes.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.buildScripts.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Run build scripts (`build.rs`) for more precise code analysis.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.buildScripts.invocationStrategy" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Specifies the invocation strategy to use when running the build scripts command.
|
2024-09-07 19:46:46 +00:00
|
|
|
|
If `per_workspace` is set, the command will be executed for each Rust workspace with the
|
|
|
|
|
workspace as the working directory.
|
|
|
|
|
If `once` is set, the command will be executed once with the opened project as the
|
|
|
|
|
working directory.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`
|
|
|
|
|
is set.
|
|
|
|
|
|
|
|
|
|
Values:
|
2024-09-07 19:46:46 +00:00
|
|
|
|
- per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
|
|
|
|
|
- once: The command will be executed once with the opened project as the working directory.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "per_workspace";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"per_workspace"
|
|
|
|
|
"once"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.buildScripts.overrideCommand" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Override the command rust-analyzer uses to run build scripts and
|
|
|
|
|
build procedural macros. The command is required to output json
|
|
|
|
|
and should therefore include `--message-format=json` or a similar
|
|
|
|
|
option.
|
|
|
|
|
|
|
|
|
|
If there are multiple linked projects/workspaces, this command is invoked for
|
|
|
|
|
each of them, with the working directory being the workspace root
|
|
|
|
|
(i.e., the folder containing the `Cargo.toml`). This can be overwritten
|
2024-09-07 19:46:46 +00:00
|
|
|
|
by changing `#rust-analyzer.cargo.buildScripts.invocationStrategy#`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
By default, a cargo invocation will be constructed for the configured
|
|
|
|
|
targets and features, with the following base command line:
|
|
|
|
|
|
|
|
|
|
```bash
|
2024-08-11 10:34:07 +02:00
|
|
|
|
cargo check --quiet --workspace --message-format=json --all-targets --keep-going
|
2024-07-04 19:19:04 +02:00
|
|
|
|
```
|
2025-08-14 12:18:55 +00:00
|
|
|
|
|
|
|
|
|
Note: The option must be specified as an array of command line arguments, with
|
|
|
|
|
the first argument being the name of the command to run.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.buildScripts.rebuildOnSave" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Rerun proc-macros building/build-scripts running when proc-macro
|
|
|
|
|
or build-script sources change and are saved.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.buildScripts.useRustcWrapper" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to
|
|
|
|
|
avoid checking unnecessary things.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.cfgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of cfg options to enable with the given values.
|
2025-02-28 12:14:45 +00:00
|
|
|
|
|
|
|
|
|
To enable a name without a value, use `"key"`.
|
|
|
|
|
To enable a name with a value, use `"key=value"`.
|
|
|
|
|
To disable, prefix the entry with a `!`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
2025-01-25 12:12:23 +00:00
|
|
|
|
pluginDefault = [
|
|
|
|
|
"debug_assertions"
|
|
|
|
|
"miri"
|
|
|
|
|
];
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
2025-01-25 12:12:23 +00:00
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
2024-07-04 19:19:04 +02:00
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.extraArgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Extra arguments that are passed to every cargo invocation.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.extraEnv" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Extra environment variables that will be set when running cargo, rustc
|
|
|
|
|
or other commands within the workspace. Useful for setting RUSTFLAGS.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = { };
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.features" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of features to activate.
|
|
|
|
|
|
|
|
|
|
Set this to `"all"` to pass `--all-features` to cargo.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- all: Pass `--all-features` to cargo
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
2024-08-29 05:43:22 +00:00
|
|
|
|
values = [
|
|
|
|
|
"all"
|
|
|
|
|
];
|
2024-07-04 19:19:04 +02:00
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.noDefaultFeatures" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Whether to pass `--no-default-features` to cargo.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-04-22 12:16:02 +00:00
|
|
|
|
"rust-analyzer.cargo.noDeps" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Whether to skip fetching dependencies. If set to "true", the analysis is performed
|
|
|
|
|
entirely offline, and Cargo metadata for dependencies is not fetched.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.cargo.sysroot" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Relative path to the sysroot, or "discover" to try to automatically find it via
|
|
|
|
|
"rustc --print sysroot".
|
|
|
|
|
|
|
|
|
|
Unsetting this disables sysroot loading.
|
|
|
|
|
|
|
|
|
|
This option does not take effect until rust-analyzer is restarted.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "discover";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.sysrootSrc" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Relative path to the sysroot library sources. If left unset, this will default to
|
|
|
|
|
`{cargo.sysroot}/lib/rustlib/src/rust/library`.
|
|
|
|
|
|
|
|
|
|
This option does not take effect until rust-analyzer is restarted.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.target" = {
|
|
|
|
|
description = ''
|
2025-01-17 20:46:33 +01:00
|
|
|
|
Compilation target override (target tuple).
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.cargo.targetDir" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Optional path to a rust-analyzer specific target directory.
|
|
|
|
|
This prevents rust-analyzer's `cargo check` and initial build-script and proc-macro
|
|
|
|
|
building from locking the `Cargo.lock` at the expense of duplicating build artifacts.
|
|
|
|
|
|
|
|
|
|
Set to `true` to use a subdirectory of the existing target directory or
|
|
|
|
|
set to a path relative to the workspace to use that path.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
2024-08-29 05:43:22 +00:00
|
|
|
|
{
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "string";
|
|
|
|
|
}
|
2024-07-04 19:19:04 +02:00
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-11-20 21:52:33 +00:00
|
|
|
|
"rust-analyzer.cfg.setTest" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Set `cfg(test)` for local crates. Defaults to true.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.check.allTargets" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Check all targets and tests (`--all-targets`). Defaults to
|
|
|
|
|
`#rust-analyzer.cargo.allTargets#`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.command" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Cargo command to use for `cargo check`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "check";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.extraArgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Extra arguments for `cargo check`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.extraEnv" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Extra environment variables that will be set when running `cargo check`.
|
|
|
|
|
Extends `#rust-analyzer.cargo.extraEnv#`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = { };
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.features" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of features to activate. Defaults to
|
|
|
|
|
`#rust-analyzer.cargo.features#`.
|
|
|
|
|
|
|
|
|
|
Set to `"all"` to pass `--all-features` to Cargo.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- all: Pass `--all-features` to cargo
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
2024-08-29 05:43:22 +00:00
|
|
|
|
values = [
|
|
|
|
|
"all"
|
|
|
|
|
];
|
2024-07-04 19:19:04 +02:00
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.ignore" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of `cargo check` (or other command specified in `check.command`) diagnostics to ignore.
|
|
|
|
|
|
|
|
|
|
For example for `cargo check`: `dead_code`, `unused_imports`, `unused_variables`,...
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.invocationStrategy" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Specifies the invocation strategy to use when running the check command.
|
|
|
|
|
If `per_workspace` is set, the command will be executed for each workspace.
|
|
|
|
|
If `once` is set, the command will be executed once.
|
|
|
|
|
This config only has an effect when `#rust-analyzer.check.overrideCommand#`
|
|
|
|
|
is set.
|
|
|
|
|
|
|
|
|
|
Values:
|
2024-09-07 19:46:46 +00:00
|
|
|
|
- per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
|
|
|
|
|
- once: The command will be executed once with the opened project as the working directory.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "per_workspace";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"per_workspace"
|
|
|
|
|
"once"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.noDefaultFeatures" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Whether to pass `--no-default-features` to Cargo. Defaults to
|
|
|
|
|
`#rust-analyzer.cargo.noDefaultFeatures#`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.overrideCommand" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Override the command rust-analyzer uses instead of `cargo check` for
|
|
|
|
|
diagnostics on save. The command is required to output json and
|
|
|
|
|
should therefore include `--message-format=json` or a similar option
|
|
|
|
|
(if your client supports the `colorDiagnosticOutput` experimental
|
|
|
|
|
capability, you can use `--message-format=json-diagnostic-rendered-ansi`).
|
|
|
|
|
|
|
|
|
|
If you're changing this because you're using some tool wrapping
|
|
|
|
|
Cargo, you might also want to change
|
|
|
|
|
`#rust-analyzer.cargo.buildScripts.overrideCommand#`.
|
|
|
|
|
|
|
|
|
|
If there are multiple linked projects/workspaces, this command is invoked for
|
|
|
|
|
each of them, with the working directory being the workspace root
|
|
|
|
|
(i.e., the folder containing the `Cargo.toml`). This can be overwritten
|
2024-09-07 19:46:46 +00:00
|
|
|
|
by changing `#rust-analyzer.check.invocationStrategy#`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
If `$saved_file` is part of the command, rust-analyzer will pass
|
|
|
|
|
the absolute path of the saved file to the provided command. This is
|
|
|
|
|
intended to be used with non-Cargo build systems.
|
|
|
|
|
Note that `$saved_file` is experimental and may be removed in the future.
|
|
|
|
|
|
|
|
|
|
An example command would be:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo check --workspace --message-format=json --all-targets
|
|
|
|
|
```
|
2025-08-14 12:18:55 +00:00
|
|
|
|
|
|
|
|
|
Note: The option must be specified as an array of command line arguments, with
|
|
|
|
|
the first argument being the name of the command to run.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.targets" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty.
|
|
|
|
|
|
|
|
|
|
Can be a single target, e.g. `"x86_64-unknown-linux-gnu"` or a list of targets, e.g.
|
|
|
|
|
`["aarch64-apple-darwin", "x86_64-apple-darwin"]`.
|
|
|
|
|
|
|
|
|
|
Aliased as `"checkOnSave.targets"`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
2024-08-29 05:43:22 +00:00
|
|
|
|
{
|
|
|
|
|
kind = "string";
|
|
|
|
|
}
|
2024-07-04 19:19:04 +02:00
|
|
|
|
{
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.check.workspace" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Whether `--workspace` should be passed to `cargo check`.
|
2025-01-03 17:11:36 +00:00
|
|
|
|
If false, `-p <package>` will be passed instead if applicable. In case it is not, no
|
|
|
|
|
check will be performed.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.checkOnSave" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Run the check command for diagnostics on save.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-11-20 21:52:33 +00:00
|
|
|
|
"rust-analyzer.completion.addSemicolonToUnit" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Automatically add a semicolon when completing unit-returning functions.
|
2024-11-20 21:52:33 +00:00
|
|
|
|
|
|
|
|
|
In `match` arms it completes a comma instead.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-28 12:14:45 +00:00
|
|
|
|
"rust-analyzer.completion.autoAwait.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show method calls and field accesses completions with `await` prefixed to them when
|
|
|
|
|
completing on a future.
|
2025-02-28 12:14:45 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.autoIter.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show method call completions with `iter()` or `into_iter()` prefixed to them when
|
|
|
|
|
completing on a type that has them.
|
2025-02-28 12:14:45 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.completion.autoimport.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show completions that automatically add imports when completed.
|
|
|
|
|
|
|
|
|
|
Note that your client must specify the `additionalTextEdits` LSP client capability to
|
|
|
|
|
truly have this feature enabled.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-17 20:46:33 +01:00
|
|
|
|
"rust-analyzer.completion.autoimport.exclude" = {
|
|
|
|
|
description = ''
|
|
|
|
|
A list of full paths to items to exclude from auto-importing completions.
|
|
|
|
|
|
|
|
|
|
Traits in this list won't have their methods suggested in completions unless the trait
|
|
|
|
|
is in scope.
|
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
You can either specify a string path which defaults to type "always" or use the more
|
|
|
|
|
verbose form `{ "path": "path::to::item", type: "always" }`.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
For traits the type "methods" can be used to only exclude the methods but not the trait
|
|
|
|
|
itself.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
|
|
|
|
|
This setting also inherits `#rust-analyzer.completion.excludeTraits#`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [
|
|
|
|
|
{
|
|
|
|
|
path = "core::borrow::Borrow";
|
|
|
|
|
type = "methods";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
path = "core::borrow::BorrowMut";
|
|
|
|
|
type = "methods";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "string";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "submodule";
|
|
|
|
|
options = {
|
|
|
|
|
path = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"methods"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.completion.autoself.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show method calls and field access completions with `self` prefixed to them when
|
|
|
|
|
inside a method.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.callable.snippets" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Add parenthesis and argument snippets when completing function.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- fill_arguments: Add call parentheses and pre-fill arguments.
|
|
|
|
|
- add_parentheses: Add call parentheses.
|
|
|
|
|
- none: Do no snippet completions for callables.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "fill_arguments";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"fill_arguments"
|
|
|
|
|
"add_parentheses"
|
|
|
|
|
"none"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-17 20:46:33 +01:00
|
|
|
|
"rust-analyzer.completion.excludeTraits" = {
|
|
|
|
|
description = ''
|
|
|
|
|
A list of full paths to traits whose methods to exclude from completion.
|
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Methods from these traits won't be completed, even if the trait is in scope. However,
|
|
|
|
|
they will still be suggested on expressions whose type is `dyn Trait`, `impl Trait` or
|
|
|
|
|
`T where T: Trait`.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
|
|
|
|
|
Note that the trait themselves can still be completed.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.completion.fullFunctionSignatures.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show full function / method signatures in completion docs.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
2024-09-07 19:46:46 +00:00
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.hideDeprecated" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Omit deprecated items from completions. By default they are marked as deprecated but not
|
|
|
|
|
hidden.
|
2024-09-07 19:46:46 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.limit" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Maximum number of completions to return. If `None`, the limit is infinite.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.postfix.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show postfix snippets like `dbg`, `if`, `not`, etc.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.privateEditable.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show completions of private items and fields that are defined in the current workspace
|
|
|
|
|
even if they are not visible at the current position.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.snippets.custom" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Custom completion snippets.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = {
|
|
|
|
|
"Arc::new" = {
|
|
|
|
|
body = "Arc::new(\${receiver})";
|
|
|
|
|
description = "Put the expression into an `Arc`";
|
|
|
|
|
postfix = "arc";
|
|
|
|
|
requires = "std::sync::Arc";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
"Box::pin" = {
|
|
|
|
|
body = "Box::pin(\${receiver})";
|
|
|
|
|
description = "Put the expression into a pinned `Box`";
|
|
|
|
|
postfix = "pinbox";
|
|
|
|
|
requires = "std::boxed::Box";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
Err = {
|
|
|
|
|
body = "Err(\${receiver})";
|
|
|
|
|
description = "Wrap the expression in a `Result::Err`";
|
|
|
|
|
postfix = "err";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
Ok = {
|
|
|
|
|
body = "Ok(\${receiver})";
|
|
|
|
|
description = "Wrap the expression in a `Result::Ok`";
|
|
|
|
|
postfix = "ok";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
"Rc::new" = {
|
|
|
|
|
body = "Rc::new(\${receiver})";
|
|
|
|
|
description = "Put the expression into an `Rc`";
|
|
|
|
|
postfix = "rc";
|
|
|
|
|
requires = "std::rc::Rc";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
Some = {
|
|
|
|
|
body = "Some(\${receiver})";
|
|
|
|
|
description = "Wrap the expression in an `Option::Some`";
|
|
|
|
|
postfix = "some";
|
|
|
|
|
scope = "expr";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.termSearch.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Enable term search based snippets like `Some(foo.bar().baz())`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.completion.termSearch.fuel" = {
|
|
|
|
|
description = ''
|
2024-07-13 22:39:48 +00:00
|
|
|
|
Term search fuel in "units of work" for autocompletion (Defaults to 1000).
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
2024-07-13 22:39:48 +00:00
|
|
|
|
pluginDefault = 1000;
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.disabled" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of rust-analyzer diagnostics to disable.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show native rust-analyzer diagnostics.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.experimental.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show experimental rust-analyzer diagnostics that might have more false positives than
|
|
|
|
|
usual.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.remapPrefix" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Map of prefixes to be substituted when parsing diagnostic file paths. This should be the
|
|
|
|
|
reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = { };
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.styleLints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Run additional style lints.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.warningsAsHint" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of warnings that should be displayed with hint severity.
|
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
The warnings will be indicated by faded text or three dots in code and will not show up
|
|
|
|
|
in the `Problems Panel`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.diagnostics.warningsAsInfo" = {
|
|
|
|
|
description = ''
|
|
|
|
|
List of warnings that should be displayed with info severity.
|
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
The warnings will be indicated by a blue squiggly underline in code and a blue icon in
|
|
|
|
|
the `Problems Panel`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-08-14 12:18:55 +00:00
|
|
|
|
"rust-analyzer.document.symbol.search.excludeLocals" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Exclude all locals from document symbol search.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-28 12:14:45 +00:00
|
|
|
|
"rust-analyzer.files.exclude" = {
|
2024-07-04 19:19:04 +02:00
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
List of files to ignore
|
|
|
|
|
|
|
|
|
|
These paths (file/directories) will be ignored by rust-analyzer. They are relative to
|
|
|
|
|
the workspace root, and globs are not supported. You may also need to add the folders to
|
|
|
|
|
Code's `files.watcherExclude`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.files.watcher" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Controls file watching implementation.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- client: Use the client (editor) to watch files for changes
|
|
|
|
|
- server: Use server-side file watching
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "client";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"client"
|
|
|
|
|
"server"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-07-13 19:32:34 +00:00
|
|
|
|
"rust-analyzer.highlightRelated.branchExitPoints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight related return values while the cursor is on any `match`, `if`, or match arm
|
|
|
|
|
arrow (`=>`).
|
2025-07-13 19:32:34 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.highlightRelated.breakPoints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight related references while the cursor is on `break`, `loop`, `while`, or `for`
|
|
|
|
|
keywords.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.highlightRelated.closureCaptures.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight all captures of a closure while the cursor is on the `|` or move keyword of a closure.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.highlightRelated.exitPoints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight all exit points while the cursor is on any `return`, `?`, `fn`, or return type
|
|
|
|
|
arrow (`->`).
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.highlightRelated.references.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight related references while the cursor is on any identifier.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.highlightRelated.yieldPoints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Highlight all break points for a loop or block context while the cursor is on any
|
|
|
|
|
`async` or `await` keywords.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.debug.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Debug` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show HoverActions in Rust files.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.gotoTypeDef.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Go to Type Definition` action. Only applies when
|
2024-07-04 19:19:04 +02:00
|
|
|
|
`#rust-analyzer.hover.actions.enable#` is set.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.implementations.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Implementations` action. Only applies when `#rust-analyzer.hover.actions.enable#`
|
|
|
|
|
is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.references.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `References` action. Only applies when `#rust-analyzer.hover.actions.enable#` is
|
|
|
|
|
set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.actions.run.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Run` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-17 20:46:33 +01:00
|
|
|
|
"rust-analyzer.hover.actions.updateTest.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Update Test` action. Only applies when `#rust-analyzer.hover.actions.enable#` and
|
|
|
|
|
`#rust-analyzer.hover.actions.run.enable#` are set.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.hover.documentation.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show documentation on hover.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.documentation.keywords.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show keyword hover popups. Only applies when
|
2024-07-04 19:19:04 +02:00
|
|
|
|
`#rust-analyzer.hover.documentation.enable#` is set.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-28 12:14:45 +00:00
|
|
|
|
"rust-analyzer.hover.dropGlue.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show drop glue information on hover.
|
2025-02-28 12:14:45 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.hover.links.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use markdown syntax for links on hover.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-17 20:46:33 +01:00
|
|
|
|
"rust-analyzer.hover.maxSubstitutionLength" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show what types are used as generic arguments in calls etc. on hover, and limit the max
|
|
|
|
|
length to show such types, beyond which they will be shown with ellipsis.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
This can take three values: `null` means "unlimited", the string `"hide"` means to not
|
|
|
|
|
show generic substitutions at all, and a number means to limit them to X characters.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
|
|
|
|
|
The default is 20 characters.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 20;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"hide"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = null;
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.hover.memoryLayout.alignment" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How to render the align information in a memory layout hover.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- both: Render as 12 (0xC)
|
|
|
|
|
- decimal: Render as 12
|
|
|
|
|
- hexadecimal: Render as 0xC
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "hexadecimal";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"both"
|
|
|
|
|
"decimal"
|
|
|
|
|
"hexadecimal"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.memoryLayout.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show memory layout data on hover.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.memoryLayout.niches" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How to render the niche information in a memory layout hover.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.memoryLayout.offset" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How to render the offset information in a memory layout hover.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- both: Render as 12 (0xC)
|
|
|
|
|
- decimal: Render as 12
|
|
|
|
|
- hexadecimal: Render as 0xC
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "hexadecimal";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"both"
|
|
|
|
|
"decimal"
|
|
|
|
|
"hexadecimal"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-06-10 12:18:35 +00:00
|
|
|
|
"rust-analyzer.hover.memoryLayout.padding" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How to render the padding information in a memory layout hover.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- both: Render as 12 (0xC)
|
|
|
|
|
- decimal: Render as 12
|
|
|
|
|
- hexadecimal: Render as 0xC
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"both"
|
|
|
|
|
"decimal"
|
|
|
|
|
"hexadecimal"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.hover.memoryLayout.size" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How to render the size information in a memory layout hover.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- both: Render as 12 (0xC)
|
|
|
|
|
- decimal: Render as 12
|
|
|
|
|
- hexadecimal: Render as 0xC
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "both";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"both"
|
|
|
|
|
"decimal"
|
|
|
|
|
"hexadecimal"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.show.enumVariants" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How many variants of an enum to display when hovering on. Show none if empty.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 5;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.show.fields" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
How many fields of a struct, variant or union to display when hovering on. Show none if
|
|
|
|
|
empty.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 5;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.hover.show.traitAssocItems" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How many associated items of a trait to display when hovering a trait.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.granularity.enforce" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Enforce the import granularity setting for all files. If set to false rust-analyzer will
|
|
|
|
|
try to keep import styles consistent per file.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.granularity.group" = {
|
|
|
|
|
description = ''
|
|
|
|
|
How imports should be grouped into use statements.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- preserve: Do not change the granularity of any imports and preserve the original structure written by the developer.
|
|
|
|
|
- crate: Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.
|
|
|
|
|
- module: Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.
|
|
|
|
|
- item: Flatten imports so that each has its own use statement.
|
|
|
|
|
- one: Merge all imports into a single use statement as long as they have the same visibility and attributes.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "crate";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"preserve"
|
|
|
|
|
"crate"
|
|
|
|
|
"module"
|
|
|
|
|
"item"
|
|
|
|
|
"one"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.group.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Group inserted imports by the [following
|
|
|
|
|
order](https://rust-analyzer.github.io/book/features.html#auto-import). Groups are
|
|
|
|
|
separated by newlines.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.merge.glob" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Allow import insertion to merge new imports into single path glob imports like `use
|
|
|
|
|
std::fmt::*;`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.preferNoStd" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Prefer to unconditionally use imports of the core and alloc crate, over the std crate.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.preferPrelude" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Prefer import paths containing a `prelude` module.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.imports.prefix" = {
|
|
|
|
|
description = ''
|
|
|
|
|
The path structure for newly inserted paths to use.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- plain: Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.
|
|
|
|
|
- self: Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item. Prefixes `self` in front of the path if it starts with a module.
|
|
|
|
|
- crate: Force import paths to be absolute by always starting them with `crate` or the extern crate name they come from.
|
|
|
|
|
'';
|
2025-06-10 12:18:35 +00:00
|
|
|
|
pluginDefault = "crate";
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"plain"
|
|
|
|
|
"self"
|
|
|
|
|
"crate"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-30 22:02:28 +02:00
|
|
|
|
"rust-analyzer.imports.prefixExternPrelude" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Prefix external (including std, core) crate imports with `::`.
|
|
|
|
|
|
|
|
|
|
E.g. `use ::std::io::Read;`.
|
2024-07-30 22:02:28 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.inlayHints.bindingModeHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay type hints for binding modes.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.chainingHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay type hints for method chains.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.closingBraceHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints after a closing `}` to indicate what item it belongs to.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.closingBraceHints.minLines" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1
|
|
|
|
|
to always show them).
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 25;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.closureCaptureHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints for closure captures.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.closureReturnTypeHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay type hints for return types of closures.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- always: Always show type hints for return types of closures.
|
|
|
|
|
- never: Never show type hints for return types of closures.
|
|
|
|
|
- with_block: Only show type hints for return types of closures with blocks.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "never";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"never"
|
|
|
|
|
"with_block"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.closureStyle" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Closure notation in type and chaining inlay hints.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- impl_fn: `impl_fn`: `impl FnMut(i32, u64) -> i8`
|
|
|
|
|
- rust_analyzer: `rust_analyzer`: `|i32, u64| -> i8`
|
|
|
|
|
- with_id: `with_id`: `{closure#14352}`, where that id is the unique number of the closure in r-a internals
|
|
|
|
|
- hide: `hide`: Shows `...` for every closure type
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "impl_fn";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"impl_fn"
|
|
|
|
|
"rust_analyzer"
|
|
|
|
|
"with_id"
|
|
|
|
|
"hide"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.discriminantHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show enum variant discriminant hints.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- always: Always show all discriminant hints.
|
|
|
|
|
- never: Never show discriminant hints.
|
|
|
|
|
- fieldless: Only show discriminant hints on fieldless enum variants.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "never";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"never"
|
|
|
|
|
"fieldless"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.expressionAdjustmentHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints for type adjustments.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- always: Always show all adjustment hints.
|
|
|
|
|
- never: Never show adjustment hints.
|
|
|
|
|
- reborrow: Only show auto borrow and dereference adjustment hints.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "never";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"never"
|
|
|
|
|
"reborrow"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Hide inlay hints for type adjustments outside of `unsafe` blocks.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.expressionAdjustmentHints.mode" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints as postfix ops (`.*` instead of `*`, etc).
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- prefix: Always show adjustment hints as prefix (`*expr`).
|
|
|
|
|
- postfix: Always show adjustment hints as postfix (`expr.*`).
|
|
|
|
|
- prefer_prefix: Show prefix or postfix depending on which uses less parenthesis, preferring prefix.
|
|
|
|
|
- prefer_postfix: Show prefix or postfix depending on which uses less parenthesis, preferring postfix.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "prefix";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"prefix"
|
|
|
|
|
"postfix"
|
|
|
|
|
"prefer_prefix"
|
|
|
|
|
"prefer_postfix"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-30 22:02:28 +02:00
|
|
|
|
"rust-analyzer.inlayHints.genericParameterHints.const.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show const generic parameter name inlay hints.
|
2024-07-30 22:02:28 +02:00
|
|
|
|
'';
|
2024-08-11 10:34:07 +02:00
|
|
|
|
pluginDefault = true;
|
2024-07-30 22:02:28 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.genericParameterHints.lifetime.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show generic lifetime parameter name inlay hints.
|
2024-07-30 22:02:28 +02:00
|
|
|
|
'';
|
2024-08-11 10:34:07 +02:00
|
|
|
|
pluginDefault = false;
|
2024-07-30 22:02:28 +02:00
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.genericParameterHints.type.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show generic type parameter name inlay hints.
|
2024-07-30 22:02:28 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.inlayHints.implicitDrops.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show implicit drop hints.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-25 12:12:23 +00:00
|
|
|
|
"rust-analyzer.inlayHints.implicitSizedBoundHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints for the implied type parameter `Sized` bound.
|
2025-01-25 12:12:23 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.inlayHints.lifetimeElisionHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay type hints for elided lifetimes in function signatures.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- always: Always show lifetime elision hints.
|
|
|
|
|
- never: Never show lifetime elision hints.
|
|
|
|
|
- skip_trivial: Only show lifetime elision hints if a return type is involved.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "never";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"never"
|
|
|
|
|
"skip_trivial"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Prefer using parameter names as the name for elided lifetime hints if possible.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.maxLength" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Maximum length for inlay hints. Set to null to have an unlimited length.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 25;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.parameterHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show function parameter name inlay hints at the call site.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.rangeExclusiveHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show exclusive range inlay hints.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.reborrowHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay hints for compiler inserted reborrows.
|
|
|
|
|
|
|
|
|
|
This setting is deprecated in favor of
|
|
|
|
|
#rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- always: Always show reborrow hints.
|
|
|
|
|
- never: Never show reborrow hints.
|
|
|
|
|
- mutable: Only show mutable reborrow hints.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "never";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"always"
|
|
|
|
|
"never"
|
|
|
|
|
"mutable"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.renderColons" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Whether to render leading colons for type hints, and trailing colons for parameter hints.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.typeHints.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show inlay type hints for variables.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.inlayHints.typeHints.hideClosureInitialization" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Hide inlay type hints for `let` statements that initialize to a closure.
|
|
|
|
|
|
|
|
|
|
Only applies to closures with blocks, same as
|
|
|
|
|
`#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-28 12:14:45 +00:00
|
|
|
|
"rust-analyzer.inlayHints.typeHints.hideClosureParameter" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Hide inlay parameter type hints for closures.
|
2025-02-28 12:14:45 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.inlayHints.typeHints.hideNamedConstructor" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Hide inlay type hints for constructors.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.interpret.tests" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Enable the experimental support for interpreting tests.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.joinLines.joinAssignments" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Join lines merges consecutive declaration and initialization of an assignment.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.joinLines.joinElseIf" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Join lines inserts else between consecutive ifs.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.joinLines.removeTrailingComma" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Join lines removes trailing commas.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.joinLines.unwrapTrivialBlock" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Join lines unwraps trivial blocks.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.debug.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show CodeLens in Rust files.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.implementations.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.location" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Where to render annotations.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- above_name: Render annotations above the name of the item.
|
|
|
|
|
- above_whole_item: Render annotations above the whole item, including documentation comments and attributes.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "above_name";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"above_name"
|
|
|
|
|
"above_whole_item"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.references.adt.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `References` lens for Struct, Enum, and Union. Only applies when
|
|
|
|
|
`#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.references.enumVariant.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `References` lens for Enum Variants. Only applies when
|
|
|
|
|
`#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.references.method.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.references.trait.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `References` lens for Trait. Only applies when `#rust-analyzer.lens.enable#` is
|
|
|
|
|
set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lens.run.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-17 20:46:33 +01:00
|
|
|
|
"rust-analyzer.lens.updateTest.enable" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `Update Test` lens. Only applies when `#rust-analyzer.lens.enable#` and
|
|
|
|
|
`#rust-analyzer.lens.run.enable#` are set.
|
2025-01-17 20:46:33 +01:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.linkedProjects" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Disable project auto-discovery in favor of explicitly specified set of projects.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Elements must be paths pointing to `Cargo.toml`, `rust-project.json`, `.rs` files (which
|
|
|
|
|
will be treated as standalone files) or JSON objects in `rust-project.json` format.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
2024-08-29 05:43:22 +00:00
|
|
|
|
{
|
|
|
|
|
kind = "string";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "object";
|
|
|
|
|
}
|
2024-07-04 19:19:04 +02:00
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lru.capacity" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
2024-08-11 10:34:07 +02:00
|
|
|
|
maximum = 65535;
|
2024-07-04 19:19:04 +02:00
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.lru.query.capacities" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
The LRU capacity of the specified queries.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = { };
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.notifications.cargoTomlNotFound" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Show `can't find Cargo.toml` error message.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.numThreads" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
The number of worker threads in the main loop. The default `null` means to pick
|
|
|
|
|
automatically.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- physical: Use the number of physical cores
|
|
|
|
|
- logical: Use the number of logical cores
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "number";
|
|
|
|
|
maximum = 255;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"physical"
|
|
|
|
|
"logical"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.procMacro.attributes.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.procMacro.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.procMacro.ignored" = {
|
|
|
|
|
description = ''
|
|
|
|
|
These proc-macros will be ignored when trying to expand them.
|
|
|
|
|
|
|
|
|
|
This config takes a map of crate names with the exported proc-macro names to ignore as values.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = { };
|
|
|
|
|
type = {
|
|
|
|
|
kind = "object";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.procMacro.server" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Internal config, path to proc-macro server executable.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.references.excludeImports" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Exclude imports from find-all-references.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.references.excludeTests" = {
|
|
|
|
|
description = ''
|
2024-11-20 21:52:33 +00:00
|
|
|
|
Exclude tests from find-all-references and call-hierarchy.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.runnables.command" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Command to be executed instead of 'cargo' for runnables.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.runnables.extraArgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Additional arguments to be passed to cargo for runnables such as
|
|
|
|
|
tests or binaries. For example, it may be `--release`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.runnables.extraTestBinaryArgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Additional arguments to be passed through Cargo to launched tests, benchmarks, or
|
|
|
|
|
doc-tests.
|
|
|
|
|
|
|
|
|
|
Unless the launched target uses a
|
|
|
|
|
[custom test harness](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-harness-field),
|
|
|
|
|
they will end up being interpreted as options to
|
|
|
|
|
[`rustc`’s built-in test harness (“libtest”)](https://doc.rust-lang.org/rustc/tests/index.html#cli-arguments).
|
|
|
|
|
'';
|
2024-08-29 05:43:22 +00:00
|
|
|
|
pluginDefault = [
|
|
|
|
|
"--show-output"
|
|
|
|
|
];
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.rustc.source" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private
|
|
|
|
|
projects, or "discover" to try to automatically find it if the `rustc-dev` component
|
|
|
|
|
is installed.
|
|
|
|
|
|
|
|
|
|
Any project which uses rust-analyzer with the rustcPrivate
|
|
|
|
|
crates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it.
|
|
|
|
|
|
|
|
|
|
This option does not take effect until rust-analyzer is restarted.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.rustfmt.extraArgs" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Additional arguments to `rustfmt`.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.rustfmt.overrideCommand" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Advanced option, fully override the command rust-analyzer uses for
|
|
|
|
|
formatting. This should be the equivalent of `rustfmt` here, and
|
|
|
|
|
not that of `cargo fmt`. The file contents will be passed on the
|
|
|
|
|
standard input and the formatted result will be read from the
|
|
|
|
|
standard output.
|
2025-08-14 12:18:55 +00:00
|
|
|
|
|
|
|
|
|
Note: The option must be specified as an array of command line arguments, with
|
|
|
|
|
the first argument being the name of the command to run.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.rustfmt.rangeFormatting.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Enables the use of rustfmt's unstable range formatting command for the
|
|
|
|
|
`textDocument/rangeFormatting` request. The rustfmt option is unstable and only
|
|
|
|
|
available on a nightly build.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.doc.comment.inject.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Inject additional highlighting into doc comments.
|
|
|
|
|
|
|
|
|
|
When enabled, rust-analyzer will highlight rust source in doc comments as well as intra
|
|
|
|
|
doc links.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.nonStandardTokens" = {
|
|
|
|
|
description = ''
|
2025-08-14 12:18:55 +00:00
|
|
|
|
Emit non-standard tokens and modifiers
|
|
|
|
|
|
|
|
|
|
When enabled, rust-analyzer will emit tokens and modifiers that are not part of the
|
|
|
|
|
standard set of semantic tokens.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.operator.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use semantic tokens for operators.
|
|
|
|
|
|
|
|
|
|
When disabled, rust-analyzer will emit semantic tokens only for operator tokens when
|
|
|
|
|
they are tagged with modifiers.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.operator.specialization.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use specialized semantic tokens for operators.
|
|
|
|
|
|
|
|
|
|
When enabled, rust-analyzer will emit special token types for operator tokens instead
|
|
|
|
|
of the generic `operator` token type.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.punctuation.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use semantic tokens for punctuation.
|
|
|
|
|
|
|
|
|
|
When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when
|
|
|
|
|
they are tagged with modifiers or have a special role.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang" = {
|
|
|
|
|
description = ''
|
|
|
|
|
When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro
|
|
|
|
|
calls.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.punctuation.specialization.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use specialized semantic tokens for punctuation.
|
|
|
|
|
|
|
|
|
|
When enabled, rust-analyzer will emit special token types for punctuation tokens instead
|
|
|
|
|
of the generic `punctuation` token type.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.semanticHighlighting.strings.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Use semantic tokens for strings.
|
|
|
|
|
|
|
|
|
|
In some editors (e.g. vscode) semantic tokens override other highlighting grammars.
|
|
|
|
|
By disabling semantic tokens for strings, other grammars can be used to highlight
|
|
|
|
|
their contents.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.signatureInfo.detail" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Show full signature of the callable. Only shows parameters if disabled.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- full: Show the entire signature.
|
|
|
|
|
- parameters: Show only the parameters.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "full";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"full"
|
|
|
|
|
"parameters"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.signatureInfo.documentation.enable" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Show documentation.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = true;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-01-25 12:12:23 +00:00
|
|
|
|
"rust-analyzer.typing.triggerChars" = {
|
2024-07-04 19:19:04 +02:00
|
|
|
|
description = ''
|
2025-01-25 12:12:23 +00:00
|
|
|
|
Specify the characters allowed to invoke special on typing triggers.
|
2025-08-14 12:18:55 +00:00
|
|
|
|
|
|
|
|
|
- typing `=` after `let` tries to smartly add `;` if `=` is followed by an existing
|
|
|
|
|
expression
|
2025-01-25 12:12:23 +00:00
|
|
|
|
- typing `=` between two expressions adds `;` when in statement position
|
2025-08-14 12:18:55 +00:00
|
|
|
|
- typing `=` to turn an assignment into an equality comparison removes `;` when in
|
|
|
|
|
expression position
|
2025-01-25 12:12:23 +00:00
|
|
|
|
- typing `.` in a chain method call auto-indents
|
2025-08-14 12:18:55 +00:00
|
|
|
|
- typing `{` or `(` in front of an expression inserts a closing `}` or `)` after the
|
|
|
|
|
expression
|
2025-01-25 12:12:23 +00:00
|
|
|
|
- typing `{` in a use item adds a closing `}` in the right place
|
|
|
|
|
- typing `>` to complete a return type `->` will insert a whitespace after it
|
|
|
|
|
- typing `<` in a path or type position inserts a closing `>` after the path or type.
|
2024-07-04 19:19:04 +02:00
|
|
|
|
'';
|
2025-01-25 12:12:23 +00:00
|
|
|
|
pluginDefault = "=.";
|
2024-07-04 19:19:04 +02:00
|
|
|
|
type = {
|
2024-12-30 08:23:53 +00:00
|
|
|
|
kind = "string";
|
2024-07-04 19:19:04 +02:00
|
|
|
|
};
|
2025-01-25 12:12:23 +00:00
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.vfs.extraIncludes" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Additional paths to include in the VFS. Generally for code that is
|
|
|
|
|
generated or otherwise managed by a build system outside of Cargo,
|
|
|
|
|
though Cargo might be the eventual consumer.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = [ ];
|
|
|
|
|
type = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
};
|
2024-08-11 10:34:07 +02:00
|
|
|
|
"rust-analyzer.workspace.discoverConfig" = {
|
|
|
|
|
description = ''
|
2024-08-10 18:56:59 +02:00
|
|
|
|
Enables automatic discovery of projects using
|
|
|
|
|
\[`DiscoverWorkspaceConfig::command`\].
|
2024-08-11 10:34:07 +02:00
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
\[`DiscoverWorkspaceConfig`\] also requires setting `progress_label` and
|
|
|
|
|
`files_to_watch`. `progress_label` is used for the title in progress
|
|
|
|
|
indicators, whereas `files_to_watch` is used to determine which build
|
|
|
|
|
system-specific files should be watched in order to reload
|
|
|
|
|
rust-analyzer.
|
2024-08-11 10:34:07 +02:00
|
|
|
|
|
|
|
|
|
Below is an example of a valid configuration:
|
2024-08-10 18:56:59 +02:00
|
|
|
|
|
|
|
|
|
``` json
|
2024-08-11 10:34:07 +02:00
|
|
|
|
"rust-analyzer.workspace.discoverConfig": {
|
|
|
|
|
"command": [
|
|
|
|
|
"rust-project",
|
2024-08-13 08:05:32 +00:00
|
|
|
|
"develop-json"
|
2024-08-11 10:34:07 +02:00
|
|
|
|
],
|
|
|
|
|
"progressLabel": "rust-analyzer",
|
|
|
|
|
"filesToWatch": [
|
2024-08-13 08:05:32 +00:00
|
|
|
|
"BUCK"
|
|
|
|
|
]
|
2024-08-11 10:34:07 +02:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
**On `DiscoverWorkspaceConfig::command`**
|
2024-08-11 10:34:07 +02:00
|
|
|
|
|
|
|
|
|
**Warning**: This format is provisional and subject to change.
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
\[`DiscoverWorkspaceConfig::command`\] *must* return a JSON object
|
2024-08-11 10:34:07 +02:00
|
|
|
|
corresponding to `DiscoverProjectData::Finished`:
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
``` norun
|
2024-08-11 10:34:07 +02:00
|
|
|
|
#[derive(Debug, Clone, Deserialize, Serialize)]
|
|
|
|
|
#[serde(tag = "kind")]
|
|
|
|
|
#[serde(rename_all = "snake_case")]
|
|
|
|
|
enum DiscoverProjectData {
|
|
|
|
|
Finished { buildfile: Utf8PathBuf, project: ProjectJsonData },
|
|
|
|
|
Error { error: String, source: Option<String> },
|
|
|
|
|
Progress { message: String },
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
As JSON, `DiscoverProjectData::Finished` is:
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
``` json
|
2024-08-11 10:34:07 +02:00
|
|
|
|
{
|
|
|
|
|
// the internally-tagged representation of the enum.
|
|
|
|
|
"kind": "finished",
|
|
|
|
|
// the file used by a non-Cargo build system to define
|
|
|
|
|
// a package or target.
|
|
|
|
|
"buildfile": "rust-analyzer/BUILD",
|
|
|
|
|
// the contents of a rust-project.json, elided for brevity
|
|
|
|
|
"project": {
|
|
|
|
|
"sysroot": "foo",
|
|
|
|
|
"crates": []
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
It is encouraged, but not required, to use the other variants on
|
|
|
|
|
`DiscoverProjectData` to provide a more polished end-user experience.
|
|
|
|
|
|
|
|
|
|
`DiscoverWorkspaceConfig::command` may *optionally* include an `{arg}`,
|
|
|
|
|
which will be substituted with the JSON-serialized form of the following
|
|
|
|
|
enum:
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
``` norun
|
2024-08-11 10:34:07 +02:00
|
|
|
|
#[derive(PartialEq, Clone, Debug, Serialize)]
|
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
|
pub enum DiscoverArgument {
|
|
|
|
|
Path(AbsPathBuf),
|
|
|
|
|
Buildfile(AbsPathBuf),
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The JSON representation of `DiscoverArgument::Path` is:
|
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
``` json
|
2024-08-11 10:34:07 +02:00
|
|
|
|
{
|
|
|
|
|
"path": "src/main.rs"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Similarly, the JSON representation of `DiscoverArgument::Buildfile` is:
|
|
|
|
|
|
2025-04-29 06:58:17 +00:00
|
|
|
|
``` json
|
|
|
|
|
{
|
|
|
|
|
"buildfile": "BUILD"
|
|
|
|
|
}
|
|
|
|
|
```
|
2024-08-11 10:34:07 +02:00
|
|
|
|
|
2024-08-10 18:56:59 +02:00
|
|
|
|
`DiscoverArgument::Path` is used to find and generate a
|
|
|
|
|
`rust-project.json`, and therefore, a workspace, whereas
|
|
|
|
|
`DiscoverArgument::buildfile` is used to to update an existing
|
|
|
|
|
workspace. As a reference for implementors, buck2's `rust-project` will
|
|
|
|
|
likely be useful:
|
2024-08-11 10:34:07 +02:00
|
|
|
|
https://github.com/facebook/buck2/tree/main/integrations/rust-project.
|
2024-08-10 18:56:59 +02:00
|
|
|
|
|
2024-08-11 10:34:07 +02:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = null;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "oneOf";
|
|
|
|
|
subTypes = [
|
|
|
|
|
{
|
|
|
|
|
kind = "submodule";
|
|
|
|
|
options = {
|
|
|
|
|
command = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
filesToWatch = {
|
|
|
|
|
item = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
kind = "list";
|
|
|
|
|
};
|
|
|
|
|
progressLabel = {
|
|
|
|
|
kind = "string";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-06-22 12:16:02 +00:00
|
|
|
|
"rust-analyzer.workspace.symbol.search.excludeImports" = {
|
|
|
|
|
description = ''
|
2025-07-13 19:32:34 +00:00
|
|
|
|
Exclude all imports from workspace symbol search.
|
|
|
|
|
|
|
|
|
|
In addition to regular imports (which are always excluded),
|
|
|
|
|
this option removes public imports (better known as re-exports)
|
|
|
|
|
and removes imports that rename the imported symbol.
|
2025-06-22 12:16:02 +00:00
|
|
|
|
'';
|
|
|
|
|
pluginDefault = false;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "boolean";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-04 19:19:04 +02:00
|
|
|
|
"rust-analyzer.workspace.symbol.search.kind" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Workspace symbol search kind.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- only_types: Search for types only.
|
|
|
|
|
- all_symbols: Search for all symbols kinds.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "only_types";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"only_types"
|
|
|
|
|
"all_symbols"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.workspace.symbol.search.limit" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Limits the number of items returned from a workspace symbol search (Defaults to 128).
|
|
|
|
|
Some clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search.
|
|
|
|
|
Other clients requires all results upfront and might require a higher limit.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = 128;
|
|
|
|
|
type = {
|
|
|
|
|
kind = "integer";
|
|
|
|
|
maximum = null;
|
|
|
|
|
minimum = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"rust-analyzer.workspace.symbol.search.scope" = {
|
|
|
|
|
description = ''
|
|
|
|
|
Workspace symbol search scope.
|
|
|
|
|
|
|
|
|
|
Values:
|
|
|
|
|
- workspace: Search in current workspace only.
|
|
|
|
|
- workspace_and_dependencies: Search in current workspace and dependencies.
|
|
|
|
|
'';
|
|
|
|
|
pluginDefault = "workspace";
|
|
|
|
|
type = {
|
|
|
|
|
kind = "enum";
|
|
|
|
|
values = [
|
|
|
|
|
"workspace"
|
|
|
|
|
"workspace_and_dependencies"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|