mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-24 21:05:12 +00:00
Final fixups
This commit is contained in:
parent
9fe1b24736
commit
1f11b70c3b
@ -37,6 +37,7 @@ use crate::{
|
|||||||
|
|
||||||
// Conventions for configuration keys to preserve maximal extendability without breakage:
|
// Conventions for configuration keys to preserve maximal extendability without breakage:
|
||||||
// - Toggles (be it binary true/false or with more options in-between) should almost always suffix as `_enable`
|
// - Toggles (be it binary true/false or with more options in-between) should almost always suffix as `_enable`
|
||||||
|
// This has the benefit of namespaces being extensible, and if the suffix doesn't fit later it can be changed without breakage.
|
||||||
// - In general be wary of using the namespace of something verbatim, it prevents us from adding subkeys in the future
|
// - In general be wary of using the namespace of something verbatim, it prevents us from adding subkeys in the future
|
||||||
// - Don't use abbreviations unless really necessary
|
// - Don't use abbreviations unless really necessary
|
||||||
// - foo_command = overrides the subcommand, foo_overrideCommand allows full overwriting, extra args only applies for foo_command
|
// - foo_command = overrides the subcommand, foo_overrideCommand allows full overwriting, extra args only applies for foo_command
|
||||||
@ -58,7 +59,7 @@ config_data! {
|
|||||||
/// `Cargo.toml` changes.
|
/// `Cargo.toml` changes.
|
||||||
cargo_autoreload: bool = "true",
|
cargo_autoreload: bool = "true",
|
||||||
/// Run build scripts (`build.rs`) for more precise code analysis.
|
/// Run build scripts (`build.rs`) for more precise code analysis.
|
||||||
cargo_buildScripts_enable: bool = "true",
|
cargo_buildScripts_enable: bool = "true",
|
||||||
/// Advanced option, fully override the command rust-analyzer uses to
|
/// Advanced option, fully override the command rust-analyzer uses to
|
||||||
/// run build scripts and build procedural macros. The command should
|
/// run build scripts and build procedural macros. The command should
|
||||||
/// include `--message-format=json` or a similar option.
|
/// include `--message-format=json` or a similar option.
|
||||||
@ -87,7 +88,7 @@ config_data! {
|
|||||||
checkOnSave_extraArgs: Vec<String> = "[]",
|
checkOnSave_extraArgs: Vec<String> = "[]",
|
||||||
/// List of features to activate. Defaults to
|
/// List of features to activate. Defaults to
|
||||||
/// `#rust-analyzer.cargo.features#`. Set to `"all"` to pass `--all-features` to cargo.
|
/// `#rust-analyzer.cargo.features#`. Set to `"all"` to pass `--all-features` to cargo.
|
||||||
checkOnSave_features: Option<CargoFeatures> = "null",
|
checkOnSave_features: Option<CargoFeatures> = "null",
|
||||||
/// Do not activate the `default` feature.
|
/// Do not activate the `default` feature.
|
||||||
checkOnSave_noDefaultFeatures: Option<bool> = "null",
|
checkOnSave_noDefaultFeatures: Option<bool> = "null",
|
||||||
/// Advanced option, fully override the command rust-analyzer uses for
|
/// Advanced option, fully override the command rust-analyzer uses for
|
||||||
@ -215,13 +216,13 @@ config_data! {
|
|||||||
hover_links_enable: bool = "true",
|
hover_links_enable: bool = "true",
|
||||||
|
|
||||||
/// Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.
|
/// Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.
|
||||||
imports_enforceGranularity: bool = "false",
|
imports_granularity_enforce: bool = "false",
|
||||||
/// How imports should be grouped into use statements.
|
/// How imports should be grouped into use statements.
|
||||||
imports_granularity: ImportGranularityDef = "\"crate\"",
|
imports_granularity_group: ImportGranularityDef = "\"crate\"",
|
||||||
/// Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.
|
/// Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.
|
||||||
imports_group: bool = "true",
|
imports_group_enable: bool = "true",
|
||||||
/// Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.
|
/// Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.
|
||||||
imports_mergeIntoGlob: bool = "true",
|
imports_merge_glob: bool = "true",
|
||||||
/// The path structure for newly inserted paths to use.
|
/// The path structure for newly inserted paths to use.
|
||||||
imports_prefix: ImportPrefixDef = "\"plain\"",
|
imports_prefix: ImportPrefixDef = "\"plain\"",
|
||||||
|
|
||||||
@ -976,20 +977,20 @@ impl Config {
|
|||||||
|
|
||||||
fn insert_use_config(&self) -> InsertUseConfig {
|
fn insert_use_config(&self) -> InsertUseConfig {
|
||||||
InsertUseConfig {
|
InsertUseConfig {
|
||||||
granularity: match self.data.imports_granularity {
|
granularity: match self.data.imports_granularity_group {
|
||||||
ImportGranularityDef::Preserve => ImportGranularity::Preserve,
|
ImportGranularityDef::Preserve => ImportGranularity::Preserve,
|
||||||
ImportGranularityDef::Item => ImportGranularity::Item,
|
ImportGranularityDef::Item => ImportGranularity::Item,
|
||||||
ImportGranularityDef::Crate => ImportGranularity::Crate,
|
ImportGranularityDef::Crate => ImportGranularity::Crate,
|
||||||
ImportGranularityDef::Module => ImportGranularity::Module,
|
ImportGranularityDef::Module => ImportGranularity::Module,
|
||||||
},
|
},
|
||||||
enforce_granularity: self.data.imports_enforceGranularity,
|
enforce_granularity: self.data.imports_granularity_enforce,
|
||||||
prefix_kind: match self.data.imports_prefix {
|
prefix_kind: match self.data.imports_prefix {
|
||||||
ImportPrefixDef::Plain => PrefixKind::Plain,
|
ImportPrefixDef::Plain => PrefixKind::Plain,
|
||||||
ImportPrefixDef::ByCrate => PrefixKind::ByCrate,
|
ImportPrefixDef::ByCrate => PrefixKind::ByCrate,
|
||||||
ImportPrefixDef::BySelf => PrefixKind::BySelf,
|
ImportPrefixDef::BySelf => PrefixKind::BySelf,
|
||||||
},
|
},
|
||||||
group: self.data.imports_group,
|
group: self.data.imports_group_enable,
|
||||||
skip_glob_imports: !self.data.imports_mergeIntoGlob,
|
skip_glob_imports: !self.data.imports_merge_glob,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,22 +288,22 @@ Whether to show documentation on hover.
|
|||||||
--
|
--
|
||||||
Use markdown syntax for links in hover.
|
Use markdown syntax for links in hover.
|
||||||
--
|
--
|
||||||
[[rust-analyzer.imports.enforceGranularity]]rust-analyzer.imports.enforceGranularity (default: `false`)::
|
[[rust-analyzer.imports.granularity.enforce]]rust-analyzer.imports.granularity.enforce (default: `false`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.
|
Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.
|
||||||
--
|
--
|
||||||
[[rust-analyzer.imports.granularity]]rust-analyzer.imports.granularity (default: `"crate"`)::
|
[[rust-analyzer.imports.granularity.group]]rust-analyzer.imports.granularity.group (default: `"crate"`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
How imports should be grouped into use statements.
|
How imports should be grouped into use statements.
|
||||||
--
|
--
|
||||||
[[rust-analyzer.imports.group]]rust-analyzer.imports.group (default: `true`)::
|
[[rust-analyzer.imports.group.enable]]rust-analyzer.imports.group.enable (default: `true`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.
|
Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.
|
||||||
--
|
--
|
||||||
[[rust-analyzer.imports.mergeIntoGlob]]rust-analyzer.imports.mergeIntoGlob (default: `true`)::
|
[[rust-analyzer.imports.merge.glob]]rust-analyzer.imports.merge.glob (default: `true`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.
|
Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.
|
||||||
|
@ -714,12 +714,12 @@
|
|||||||
"default": true,
|
"default": true,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.enforceGranularity": {
|
"rust-analyzer.imports.granularity.enforce": {
|
||||||
"markdownDescription": "Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.",
|
"markdownDescription": "Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.",
|
||||||
"default": false,
|
"default": false,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.granularity": {
|
"rust-analyzer.imports.granularity.group": {
|
||||||
"markdownDescription": "How imports should be grouped into use statements.",
|
"markdownDescription": "How imports should be grouped into use statements.",
|
||||||
"default": "crate",
|
"default": "crate",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -736,12 +736,12 @@
|
|||||||
"Flatten imports so that each has its own use statement."
|
"Flatten imports so that each has its own use statement."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.group": {
|
"rust-analyzer.imports.group.enable": {
|
||||||
"markdownDescription": "Group inserted imports by the [following order](https://rust-analyzer.github.io/manual.html#auto-import). Groups are separated by newlines.",
|
"markdownDescription": "Group inserted imports by the [following order](https://rust-analyzer.github.io/manual.html#auto-import). Groups are separated by newlines.",
|
||||||
"default": true,
|
"default": true,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.mergeIntoGlob": {
|
"rust-analyzer.imports.merge.glob": {
|
||||||
"markdownDescription": "Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.",
|
"markdownDescription": "Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.",
|
||||||
"default": true,
|
"default": true,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
Loading…
Reference in New Issue
Block a user