mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-30 12:24:28 +02:00
Update the rust analyzer settings (#517)
This commit is contained in:
parent
e7b86d6487
commit
d8e70556e5
1 changed files with 202 additions and 7 deletions
|
@ -151,6 +151,30 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"cfgs" = mkOption {
|
||||||
|
type = types.nullOr (types.attrsOf types.anything);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
List of cfg options to enable with the given values.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
{}
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"extraArgs" = mkOption {
|
||||||
|
type = types.nullOr (types.listOf (types.str));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Extra arguments that are passed to every cargo invocation.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
[]
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
"extraEnv" = mkOption {
|
"extraEnv" = mkOption {
|
||||||
type = types.nullOr (types.attrsOf types.anything);
|
type = types.nullOr (types.attrsOf types.anything);
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -207,6 +231,21 @@ with lib; {
|
||||||
```
|
```
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
"sysrootSrc" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.str));
|
||||||
|
default = null;
|
||||||
|
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.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
null
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
"target" = mkOption {
|
"target" = mkOption {
|
||||||
type = types.nullOr (types.nullOr (types.str));
|
type = types.nullOr (types.nullOr (types.str));
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -223,7 +262,7 @@ with lib; {
|
||||||
type = types.nullOr (types.listOf (types.str));
|
type = types.nullOr (types.listOf (types.str));
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Unsets `#[cfg(test)]` for the specified crates.
|
Unsets the implicit `#[cfg(test)]` for the specified crates.
|
||||||
|
|
||||||
default value is:
|
default value is:
|
||||||
```nix
|
```nix
|
||||||
|
@ -449,6 +488,18 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"limit" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.addCheck types.int (x: x >= 0)));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Maximum number of completions to return. If `None`, the limit is infinite.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
null
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
"postfix" = {
|
"postfix" = {
|
||||||
"enable" = mkOption {
|
"enable" = mkOption {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
|
@ -652,6 +703,20 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"closureCaptures" = {
|
||||||
|
"enable" = mkOption {
|
||||||
|
type = types.nullOr (types.bool);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
true
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
"exitPoints" = {
|
"exitPoints" = {
|
||||||
"enable" = mkOption {
|
"enable" = mkOption {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
|
@ -819,7 +884,7 @@ with lib; {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Use markdown syntax for links in hover.
|
Use markdown syntax for links on hover.
|
||||||
|
|
||||||
default value is:
|
default value is:
|
||||||
```nix
|
```nix
|
||||||
|
@ -828,6 +893,68 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"memoryLayout" = {
|
||||||
|
"alignment" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.oneOf [(types.enum ["both" "decimal" "hexadecimal"])]));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
How to render the align information in a memory layout hover.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
"hexadecimal"
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"enable" = mkOption {
|
||||||
|
type = types.nullOr (types.bool);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Whether to show memory layout data on hover.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
true
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"niches" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.bool));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
How to render the niche information in a memory layout hover.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
false
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"offset" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.oneOf [(types.enum ["both" "decimal" "hexadecimal"])]));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
How to render the offset information in a memory layout hover.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
"hexadecimal"
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"size" = mkOption {
|
||||||
|
type = types.nullOr (types.nullOr (types.oneOf [(types.enum ["both" "decimal" "hexadecimal"])]));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
How to render the size information in a memory layout hover.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
"both"
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"imports" = {
|
"imports" = {
|
||||||
"granularity" = {
|
"granularity" = {
|
||||||
|
@ -969,6 +1096,20 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"closureCaptureHints" = {
|
||||||
|
"enable" = mkOption {
|
||||||
|
type = types.nullOr (types.bool);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Whether to show inlay hints for closure captures.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
false
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
"closureReturnTypeHints" = {
|
"closureReturnTypeHints" = {
|
||||||
"enable" = mkOption {
|
"enable" = mkOption {
|
||||||
type = types.nullOr (types.enum ["always" "never" "with_block"]);
|
type = types.nullOr (types.enum ["always" "never" "with_block"]);
|
||||||
|
@ -983,6 +1124,18 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"closureStyle" = mkOption {
|
||||||
|
type = types.nullOr (types.enum ["impl_fn" "rust_analyzer" "with_id" "hide"]);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Closure notation in type and chaining inlay hints.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
"impl_fn"
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
"discriminantHints" = {
|
"discriminantHints" = {
|
||||||
"enable" = mkOption {
|
"enable" = mkOption {
|
||||||
type = types.nullOr (types.enum ["always" "never" "fieldless"]);
|
type = types.nullOr (types.enum ["always" "never" "fieldless"]);
|
||||||
|
@ -1155,6 +1308,20 @@ with lib; {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"interpret" = {
|
||||||
|
"tests" = mkOption {
|
||||||
|
type = types.nullOr (types.bool);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Enables the experimental support for interpreting tests.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
false
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
"joinLines" = {
|
"joinLines" = {
|
||||||
"joinAssignments" = mkOption {
|
"joinAssignments" = mkOption {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
|
@ -1380,6 +1547,20 @@ with lib; {
|
||||||
```
|
```
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
"query" = {
|
||||||
|
"capacities" = mkOption {
|
||||||
|
type = types.nullOr (types.attrsOf types.anything);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Sets the LRU capacity of the specified queries.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
{}
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"notifications" = {
|
"notifications" = {
|
||||||
"cargoTomlNotFound" = mkOption {
|
"cargoTomlNotFound" = mkOption {
|
||||||
|
@ -1452,8 +1633,7 @@ with lib; {
|
||||||
type = types.nullOr (types.nullOr (types.str));
|
type = types.nullOr (types.nullOr (types.str));
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Internal config, path to proc-macro server executable (typically,
|
Internal config, path to proc-macro server executable.
|
||||||
this is rust-analyzer itself, but we override this in tests).
|
|
||||||
|
|
||||||
default value is:
|
default value is:
|
||||||
```nix
|
```nix
|
||||||
|
@ -1542,7 +1722,10 @@ with lib; {
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Advanced option, fully override the command rust-analyzer uses for
|
Advanced option, fully override the command rust-analyzer uses for
|
||||||
formatting.
|
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.
|
||||||
|
|
||||||
default value is:
|
default value is:
|
||||||
```nix
|
```nix
|
||||||
|
@ -1589,6 +1772,18 @@ with lib; {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"nonStandardTokens" = mkOption {
|
||||||
|
type = types.nullOr (types.bool);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Whether the server is allowed to emit non-standard tokens and modifiers.
|
||||||
|
|
||||||
|
default value is:
|
||||||
|
```nix
|
||||||
|
true
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
"operator" = {
|
"operator" = {
|
||||||
"enable" = mkOption {
|
"enable" = mkOption {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
|
@ -1628,7 +1823,7 @@ with lib; {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Use semantic tokens for punctuations.
|
Use semantic tokens for punctuation.
|
||||||
|
|
||||||
When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when
|
When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when
|
||||||
they are tagged with modifiers or have a special role.
|
they are tagged with modifiers or have a special role.
|
||||||
|
@ -1661,7 +1856,7 @@ with lib; {
|
||||||
type = types.nullOr (types.bool);
|
type = types.nullOr (types.bool);
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Use specialized semantic tokens for punctuations.
|
Use specialized semantic tokens for punctuation.
|
||||||
|
|
||||||
When enabled, rust-analyzer will emit special token types for punctuation tokens instead
|
When enabled, rust-analyzer will emit special token types for punctuation tokens instead
|
||||||
of the generic `punctuation` token type.
|
of the generic `punctuation` token type.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue