]> git.lizzy.rs Git - rust.git/commitdiff
Adjust signature info and enum variant lenses
authorLukas Wirth <lukastw97@gmail.com>
Wed, 27 Apr 2022 15:51:44 +0000 (17:51 +0200)
committerLukas Wirth <lukastw97@gmail.com>
Sun, 1 May 2022 17:57:08 +0000 (19:57 +0200)
crates/rust-analyzer/src/config.rs
docs/user/generated_config.adoc
editors/code/package.json

index 413cb91af2a922e225955f9aa78ef8622be7d22c..7dc25c1e6d720dba536edb481c4bbe8727ff9bc5 100644 (file)
@@ -272,7 +272,7 @@ struct ConfigData {
         lens_references_adt_enable: bool = "false",
         /// Whether to show `References` lens for Enum Variants.
         /// Only applies when `#rust-analyzer.lens.enable#` is set.
-        lens_references_adt_variant_enable: bool = "false",
+        lens_references_enumVariant_enable: bool = "false",
         /// Whether to show `Method References` lens. Only applies when
         /// `#rust-analyzer.lens.enable#` is set.
         lens_references_method_enable: bool = "false",
@@ -346,10 +346,10 @@ struct ConfigData {
         /// their contents.
         semanticHighlighting_strings_enable: bool = "true",
 
+        /// Show full signature of the callable. Only shows parameters if disabled.
+        signatureInfo_detail: SignatureDetail                           = "\"full\"",
         /// Show documentation.
         signatureInfo_documentation_enable: bool                       = "true",
-        /// Show full signature of the callable. Only shows parameters if disabled.
-        signatureInfo_signature_enable: bool                           = "true",
 
         /// Workspace symbol search kind.
         workspace_symbol_search_kind: WorkspaceSymbolSearchKindDef = "\"only_types\"",
@@ -1041,7 +1041,7 @@ pub fn join_lines(&self) -> JoinLinesConfig {
 
     pub fn call_info(&self) -> CallInfoConfig {
         CallInfoConfig {
-            params_only: self.data.signatureInfo_signature_enable,
+            params_only: matches!(self.data.signatureInfo_detail, SignatureDetail::Parameters),
             docs: self.data.signatureInfo_documentation_enable,
         }
     }
@@ -1055,7 +1055,7 @@ pub fn lens(&self) -> LensConfig {
             refs_adt: self.data.lens_enable && self.data.lens_references_adt_enable,
             refs_trait: self.data.lens_enable && self.data.lens_references_trait_enable,
             enum_variant_refs: self.data.lens_enable
-                && self.data.lens_references_adt_variant_enable,
+                && self.data.lens_references_enumVariant_enable,
         }
     }
 
@@ -1365,6 +1365,13 @@ enum WorkspaceSymbolSearchScopeDef {
     WorkspaceAndDependencies,
 }
 
+#[derive(Deserialize, Debug, Clone)]
+#[serde(rename_all = "snake_case")]
+enum SignatureDetail {
+    Full,
+    Parameters,
+}
+
 #[derive(Deserialize, Debug, Clone)]
 #[serde(rename_all = "snake_case")]
 enum WorkspaceSymbolSearchKindDef {
@@ -1637,6 +1644,14 @@ macro_rules! set {
                 "Add call parentheses",
             ],
         },
+        "SignatureDetail" => set! {
+            "type": "string",
+            "enum": ["full", "parameters"],
+            "enumDescriptions": [
+                "Show the entire signature.",
+                "Show only the parameters."
+            ],
+        },
         _ => panic!("missing entry for {}: {}", ty, default),
     }
 
index c70bf206ffe34b43e698b073249f7d86e1443b90..ab9f7db884764240366f1ecf293a697843bb3abc 100644 (file)
@@ -413,7 +413,7 @@ Whether to show `Implementations` lens. Only applies when
 Whether to show `References` lens for Struct, Enum, and Union.
 Only applies when `#rust-analyzer.lens.enable#` is set.
 --
-[[rust-analyzer.lens.references.adt.variant.enable]]rust-analyzer.lens.references.adt.variant.enable (default: `false`)::
+[[rust-analyzer.lens.references.enumVariant.enable]]rust-analyzer.lens.references.enumVariant.enable (default: `false`)::
 +
 --
 Whether to show `References` lens for Enum Variants.
@@ -539,15 +539,15 @@ In some editors (e.g. vscode) semantic tokens override other highlighting gramma
 By disabling semantic tokens for strings, other grammars can be used to highlight
 their contents.
 --
-[[rust-analyzer.signatureInfo.documentation.enable]]rust-analyzer.signatureInfo.documentation.enable (default: `true`)::
+[[rust-analyzer.signatureInfo.detail]]rust-analyzer.signatureInfo.detail (default: `"full"`)::
 +
 --
-Show documentation.
+Show full signature of the callable. Only shows parameters if disabled.
 --
-[[rust-analyzer.signatureInfo.signature.enable]]rust-analyzer.signatureInfo.signature.enable (default: `true`)::
+[[rust-analyzer.signatureInfo.documentation.enable]]rust-analyzer.signatureInfo.documentation.enable (default: `true`)::
 +
 --
-Show full signature of the callable. Only shows parameters if disabled.
+Show documentation.
 --
 [[rust-analyzer.workspace.symbol.search.kind]]rust-analyzer.workspace.symbol.search.kind (default: `"only_types"`)::
 +
index c4e7036a3ce54dce2f7707253bd73ca662845463..df5d9b360906879e6ed1e9f2ecb1ccd02634ca0c 100644 (file)
                     "default": false,
                     "type": "boolean"
                 },
-                "rust-analyzer.lens.references.adt.variant.enable": {
+                "rust-analyzer.lens.references.enumVariant.enable": {
                     "markdownDescription": "Whether to show `References` lens for Enum Variants.\nOnly applies when `#rust-analyzer.lens.enable#` is set.",
                     "default": false,
                     "type": "boolean"
                     "default": true,
                     "type": "boolean"
                 },
+                "rust-analyzer.signatureInfo.detail": {
+                    "markdownDescription": "Show full signature of the callable. Only shows parameters if disabled.",
+                    "default": "full",
+                    "type": "string",
+                    "enum": [
+                        "full",
+                        "parameters"
+                    ],
+                    "enumDescriptions": [
+                        "Show the entire signature.",
+                        "Show only the parameters."
+                    ]
+                },
                 "rust-analyzer.signatureInfo.documentation.enable": {
                     "markdownDescription": "Show documentation.",
                     "default": true,
                     "type": "boolean"
                 },
-                "rust-analyzer.signatureInfo.signature.enable": {
-                    "markdownDescription": "Show full signature of the callable. Only shows parameters if disabled.",
-                    "default": true,
-                    "type": "boolean"
-                },
                 "rust-analyzer.workspace.symbol.search.kind": {
                     "markdownDescription": "Workspace symbol search kind.",
                     "default": "only_types",