]> git.lizzy.rs Git - rust.git/blobdiff - editors/code/package.json
Add **Copy Run Command Line** command for vscode
[rust.git] / editors / code / package.json
index dbde37005c92aae22d848b26f6e6e20c3be41853..55825456ec55fb15642d7ab201073a4cf2380277 100644 (file)
@@ -21,7 +21,7 @@
         "Programming Languages"
     ],
     "engines": {
-        "vscode": "^1.51.0"
+        "vscode": "^1.52.0"
     },
     "enableProposedApi": true,
     "scripts": {
@@ -36,7 +36,7 @@
     },
     "dependencies": {
         "node-fetch": "^2.6.1",
-        "vscode-languageclient": "7.0.0-next.14"
+        "vscode-languageclient": "7.0.0"
     },
     "devDependencies": {
         "@rollup/plugin-commonjs": "^17.0.0",
@@ -45,7 +45,7 @@
         "@types/mocha": "^8.0.4",
         "@types/node": "~12.12.6",
         "@types/node-fetch": "^2.5.7",
-        "@types/vscode": "^1.51.0",
+        "@types/vscode": "^1.52.0",
         "@typescript-eslint/eslint-plugin": "^4.9.0",
         "@typescript-eslint/parser": "^4.9.0",
         "eslint": "^7.15.0",
                 "title": "Show Syntax Tree",
                 "category": "Rust Analyzer"
             },
+            {
+                "command": "rust-analyzer.viewHir",
+                "title": "View Hir",
+                "category": "Rust Analyzer"
+            },
             {
                 "command": "rust-analyzer.expandMacro",
                 "title": "Expand macro recursively",
                 "title": "Run",
                 "category": "Rust Analyzer"
             },
+            {
+                "command": "rust-analyzer.copyRunCommandLine",
+                "title": "Copy Run Command Line",
+                "category": "Rust Analyzer"
+            },
             {
                 "command": "rust-analyzer.debug",
                 "title": "Debug",
             "type": "object",
             "title": "Rust Analyzer",
             "properties": {
-                "rust-analyzer.lruCapacity": {
+                "rust-analyzer.cargoRunner": {
                     "type": [
                         "null",
-                        "integer"
+                        "string"
                     ],
                     "default": null,
-                    "minimum": 0,
-                    "exclusiveMinimum": true,
-                    "description": "Number of syntax trees rust-analyzer keeps in memory."
+                    "description": "Custom cargo runner extension ID."
                 },
-                "rust-analyzer.files.watcher": {
+                "rust-analyzer.runnableEnv": {
+                    "anyOf": [
+                        {
+                            "type": "null"
+                        },
+                        {
+                            "type": "array",
+                            "items": {
+                                "type": "object",
+                                "properties": {
+                                    "mask": {
+                                        "type": "string",
+                                        "description": "Runnable name mask"
+                                    },
+                                    "env": {
+                                        "type": "object",
+                                        "description": "Variables in form of { \"key\": \"value\"}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "type": "object",
+                            "description": "Variables in form of { \"key\": \"value\"}"
+                        }
+                    ],
+                    "default": null,
+                    "markdownDescription": "Environment variables passed to the runnable launched using `Test` or `Debug` lens or `rust-analyzer.run` command."
+                },
+                "rust-analyzer.inlayHints.enable": {
+                    "type": "boolean",
+                    "default": true,
+                    "description": "Whether to show inlay hints."
+                },
+                "rust-analyzer.updates.channel": {
                     "type": "string",
                     "enum": [
-                        "client",
-                        "notify"
+                        "stable",
+                        "nightly"
                     ],
-                    "default": "client",
-                    "description": "Controls file watching implementation."
-                },
-                "rust-analyzer.files.exclude": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "default": [],
-                    "description": "Paths to exclude from analysis."
+                    "default": "stable",
+                    "markdownEnumDescriptions": [
+                        "`stable` updates are shipped weekly, they don't contain cutting-edge features from VSCode proposed APIs but have less bugs in general.",
+                        "`nightly` updates are shipped daily (extension updates automatically by downloading artifacts directly from GitHub), they contain cutting-edge features and latest bug fixes. These releases help us get your feedback very quickly and speed up rust-analyzer development **drastically**."
+                    ],
+                    "markdownDescription": "Choose `nightly` updates to get the latest features and bug fixes every day. While `stable` releases occur weekly and don't contain cutting-edge features from VSCode proposed APIs."
                 },
-                "rust-analyzer.notifications.cargoTomlNotFound": {
+                "rust-analyzer.updates.askBeforeDownload": {
                     "type": "boolean",
                     "default": true,
-                    "markdownDescription": "Whether to show `can't find Cargo.toml` error message"
+                    "description": "Whether to ask for permission before downloading any files from the Internet."
                 },
-                "rust-analyzer.cargo.autoreload": {
+                "rust-analyzer.server.path": {
+                    "type": [
+                        "null",
+                        "string"
+                    ],
+                    "default": null,
+                    "markdownDescription": "Path to rust-analyzer executable (points to bundled binary by default). If this is set, then `#rust-analyzer.updates.channel#` setting is not used"
+                },
+                "rust-analyzer.server.extraEnv": {
+                    "type": [
+                        "null",
+                        "object"
+                    ],
+                    "default": null,
+                    "markdownDescription": "Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging."
+                },
+                "rust-analyzer.trace.server": {
+                    "type": "string",
+                    "scope": "window",
+                    "enum": [
+                        "off",
+                        "messages",
+                        "verbose"
+                    ],
+                    "enumDescriptions": [
+                        "No traces",
+                        "Error only",
+                        "Full log"
+                    ],
+                    "default": "off",
+                    "description": "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users)."
+                },
+                "rust-analyzer.trace.extension": {
+                    "description": "Enable logging of VS Code extensions itself.",
                     "type": "boolean",
-                    "default": true,
-                    "markdownDescription": "Automatically refresh project info via `cargo metadata` on Cargo.toml changes"
+                    "default": false
                 },
-                "rust-analyzer.cargo.noDefaultFeatures": {
+                "rust-analyzer.debug.engine": {
+                    "type": "string",
+                    "enum": [
+                        "auto",
+                        "vadimcn.vscode-lldb",
+                        "ms-vscode.cpptools"
+                    ],
+                    "default": "auto",
+                    "description": "Preferred debug engine.",
+                    "markdownEnumDescriptions": [
+                        "First try to use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb), if it's not installed try to use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools).",
+                        "Use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)",
+                        "Use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)"
+                    ]
+                },
+                "rust-analyzer.debug.sourceFileMap": {
+                    "type": "object",
+                    "description": "Optional source file mappings passed to the debug engine.",
+                    "default": {
+                        "/rustc/<id>": "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
+                    }
+                },
+                "rust-analyzer.debug.openDebugPane": {
+                    "markdownDescription": "Whether to open up the `Debug Panel` on debugging start.",
                     "type": "boolean",
-                    "default": false,
-                    "markdownDescription": "Do not activate the `default` feature"
+                    "default": false
+                },
+                "rust-analyzer.debug.engineSettings": {
+                    "type": "object",
+                    "default": {},
+                    "markdownDescription": "Optional settings passed to the debug engine. Example: `{ \"lldb\": { \"terminal\":\"external\"} }`"
+                },
+                "$generated-start": false,
+                "rust-analyzer.assist.importMergeBehavior": {
+                    "markdownDescription": "The strategy to use when inserting new imports or merging imports.",
+                    "default": "full",
+                    "type": "string",
+                    "enum": [
+                        "none",
+                        "full",
+                        "last"
+                    ],
+                    "enumDescriptions": [
+                        "No merging",
+                        "Merge all layers of the import trees",
+                        "Only merge the last layer of the import trees"
+                    ]
+                },
+                "rust-analyzer.assist.importPrefix": {
+                    "markdownDescription": "The path structure for newly inserted paths to use.",
+                    "default": "plain",
+                    "type": "string",
+                    "enum": [
+                        "plain",
+                        "by_self",
+                        "by_crate"
+                    ],
+                    "enumDescriptions": [
+                        "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.",
+                        "Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name.",
+                        "Force import paths to be absolute by always starting them with `crate` or the crate name they refer to."
+                    ]
+                },
+                "rust-analyzer.callInfo.full": {
+                    "markdownDescription": "Show function name and docs in parameter hints.",
+                    "default": true,
+                    "type": "boolean"
+                },
+                "rust-analyzer.cargo.autoreload": {
+                    "markdownDescription": "Automatically refresh project info via `cargo metadata` on `Cargo.toml` changes.",
+                    "default": true,
+                    "type": "boolean"
                 },
                 "rust-analyzer.cargo.allFeatures": {
-                    "type": "boolean",
+                    "markdownDescription": "Activate all available features (`--all-features`).",
                     "default": false,
-                    "description": "Activate all available features"
+                    "type": "boolean"
                 },
                 "rust-analyzer.cargo.features": {
+                    "markdownDescription": "List of features to activate.",
+                    "default": [],
                     "type": "array",
                     "items": {
                         "type": "string"
-                    },
-                    "default": [],
-                    "description": "List of features to activate"
+                    }
                 },
                 "rust-analyzer.cargo.loadOutDirsFromCheck": {
-                    "type": "boolean",
+                    "markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs.",
                     "default": false,
-                    "markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs"
+                    "type": "boolean"
+                },
+                "rust-analyzer.cargo.noDefaultFeatures": {
+                    "markdownDescription": "Do not activate the `default` feature.",
+                    "default": false,
+                    "type": "boolean"
                 },
                 "rust-analyzer.cargo.target": {
+                    "markdownDescription": "Compilation target (target triple).",
+                    "default": null,
                     "type": [
                         "null",
                         "string"
-                    ],
-                    "default": null,
-                    "description": "Specify the compilation target"
-                },
-                "rust-analyzer.noSysroot": {
-                    "markdownDescription": "Internal config for debugging, disables loading of sysroot crates",
-                    "type": "boolean",
-                    "default": false
-                },
-                "rust-analyzer.rustfmt.extraArgs": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "default": [],
-                    "description": "Additional arguments to rustfmt"
+                    ]
                 },
-                "rust-analyzer.rustfmt.overrideCommand": {
-                    "type": [
-                        "null",
-                        "array"
-                    ],
-                    "items": {
-                        "type": "string",
-                        "minItems": 1
-                    },
-                    "default": null,
-                    "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for formatting."
+                "rust-analyzer.cargo.noSysroot": {
+                    "markdownDescription": "Internal config for debugging, disables loading of sysroot crates.",
+                    "default": false,
+                    "type": "boolean"
                 },
                 "rust-analyzer.checkOnSave.enable": {
-                    "type": "boolean",
+                    "markdownDescription": "Run specified `cargo check` command for diagnostics on save.",
                     "default": true,
-                    "markdownDescription": "Run specified `cargo check` command for diagnostics on save"
-                },
-                "rust-analyzer.checkOnSave.extraArgs": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "markdownDescription": "Extra arguments for `cargo check`",
-                    "default": []
-                },
-                "rust-analyzer.checkOnSave.command": {
-                    "type": "string",
-                    "default": "check",
-                    "markdownDescription": "Cargo command to use for `cargo check`"
+                    "type": "boolean"
                 },
-                "rust-analyzer.checkOnSave.overrideCommand": {
+                "rust-analyzer.checkOnSave.allFeatures": {
+                    "markdownDescription": "Check with all features (`--all-features`). Defaults to `#rust-analyzer.cargo.allFeatures#`.",
+                    "default": null,
                     "type": [
                         "null",
-                        "array"
-                    ],
-                    "items": {
-                        "type": "string",
-                        "minItems": 1
-                    },
-                    "default": null,
-                    "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option."
+                        "boolean"
+                    ]
                 },
                 "rust-analyzer.checkOnSave.allTargets": {
-                    "type": "boolean",
+                    "markdownDescription": "Check all targets and tests (`--all-targets`).",
                     "default": true,
-                    "markdownDescription": "Check all targets and tests (will be passed as `--all-targets`)"
+                    "type": "boolean"
+                },
+                "rust-analyzer.checkOnSave.command": {
+                    "markdownDescription": "Cargo command to use for `cargo check`.",
+                    "default": "check",
+                    "type": "string"
                 },
                 "rust-analyzer.checkOnSave.noDefaultFeatures": {
+                    "markdownDescription": "Do not activate the `default` feature.",
+                    "default": null,
                     "type": [
                         "null",
                         "boolean"
-                    ],
-                    "default": null,
-                    "markdownDescription": "Do not activate the `default` feature"
+                    ]
                 },
-                "rust-analyzer.checkOnSave.allFeatures": {
+                "rust-analyzer.checkOnSave.target": {
+                    "markdownDescription": "Check for a specific target. Defaults to `#rust-analyzer.cargo.target#`.",
+                    "default": null,
                     "type": [
                         "null",
-                        "boolean"
-                    ],
-                    "default": null,
-                    "markdownDescription": "Check with all features (will be passed as `--all-features`). Defaults to `rust-analyzer.cargo.allFeatures`."
+                        "string"
+                    ]
+                },
+                "rust-analyzer.checkOnSave.extraArgs": {
+                    "markdownDescription": "Extra arguments for `cargo check`.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
                 },
                 "rust-analyzer.checkOnSave.features": {
+                    "markdownDescription": "List of features to activate. Defaults to `#rust-analyzer.cargo.features#`.",
+                    "default": null,
                     "type": [
                         "null",
                         "array"
                     ],
                     "items": {
                         "type": "string"
-                    },
-                    "default": null,
-                    "description": "List of features to activate. Defaults to `rust-analyzer.cargo.features`."
+                    }
                 },
-                "rust-analyzer.checkOnSave.target": {
-                    "type": [
-                        "null",
-                        "string"
-                    ],
+                "rust-analyzer.checkOnSave.overrideCommand": {
+                    "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option.",
                     "default": null,
-                    "description": "Check for a specific target. Defaults to `rust-analyzer.cargo.target`."
-                },
-                "rust-analyzer.cargoRunner": {
                     "type": [
                         "null",
-                        "string"
+                        "array"
                     ],
-                    "default": null,
-                    "description": "Custom cargo runner extension ID."
+                    "items": {
+                        "type": "string"
+                    }
                 },
-                "rust-analyzer.runnableEnv": {
-                    "anyOf": [
-                        {
-                            "type": "null"
-                        },
-                        {
-                            "type": "array",
-                            "items": {
-                                "type": "object",
-                                "properties": {
-                                    "mask": {
-                                        "type": "string",
-                                        "description": "Runnable name mask"
-                                    },
-                                    "env": {
-                                        "type": "object",
-                                        "description": "Variables in form of { \"key\": \"value\"}"
-                                    }
-                                }
-                            }
-                        },
-                        {
-                            "type": "object",
-                            "description": "Variables in form of { \"key\": \"value\"}"
-                        }
-                    ],
-                    "default": null,
-                    "description": "Environment variables passed to the runnable launched using `Test ` or `Debug` lens or `rust-analyzer.run` command."
+                "rust-analyzer.completion.addCallArgumentSnippets": {
+                    "markdownDescription": "Whether to add argument snippets when completing functions.",
+                    "default": true,
+                    "type": "boolean"
                 },
-                "rust-analyzer.inlayHints.enable": {
-                    "type": "boolean",
+                "rust-analyzer.completion.addCallParenthesis": {
+                    "markdownDescription": "Whether to add parenthesis when completing functions.",
                     "default": true,
-                    "description": "Whether to show inlay hints"
+                    "type": "boolean"
                 },
-                "rust-analyzer.inlayHints.typeHints": {
-                    "type": "boolean",
+                "rust-analyzer.completion.postfix.enable": {
+                    "markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc.",
                     "default": true,
-                    "description": "Whether to show inlay type hints for variables."
+                    "type": "boolean"
                 },
-                "rust-analyzer.inlayHints.chainingHints": {
-                    "type": "boolean",
+                "rust-analyzer.completion.autoimport.enable": {
+                    "markdownDescription": "Toggles the additional completions that automatically add imports when completed. Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.",
                     "default": true,
-                    "description": "Whether to show inlay type hints for method chains."
+                    "type": "boolean"
                 },
-                "rust-analyzer.inlayHints.parameterHints": {
-                    "type": "boolean",
+                "rust-analyzer.diagnostics.enable": {
+                    "markdownDescription": "Whether to show native rust-analyzer diagnostics.",
                     "default": true,
-                    "description": "Whether to show function parameter name inlay hints at the call site."
+                    "type": "boolean"
                 },
-                "rust-analyzer.inlayHints.maxLength": {
-                    "type": [
-                        "null",
-                        "integer"
-                    ],
-                    "default": 20,
-                    "minimum": 0,
-                    "exclusiveMinimum": true,
-                    "description": "Maximum length for inlay hints"
+                "rust-analyzer.diagnostics.enableExperimental": {
+                    "markdownDescription": "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.",
+                    "default": true,
+                    "type": "boolean"
+                },
+                "rust-analyzer.diagnostics.disabled": {
+                    "markdownDescription": "List of rust-analyzer diagnostics to disable.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    },
+                    "uniqueItems": true
+                },
+                "rust-analyzer.diagnostics.warningsAsHint": {
+                    "markdownDescription": "List of warnings that should be displayed with info severity.\\n\\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the `Problems Panel`.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "rust-analyzer.diagnostics.warningsAsInfo": {
+                    "markdownDescription": "List of warnings that should be displayed with hint severity.\\n\\nThe warnings will be indicated by faded text or three dots in code and will not show up in the `Problems Panel`.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "rust-analyzer.files.watcher": {
+                    "markdownDescription": "Controls file watching implementation.",
+                    "default": "client",
+                    "type": "string"
+                },
+                "rust-analyzer.files.excludeDirs": {
+                    "markdownDescription": "These directories will be ignored by rust-analyzer.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
                 },
-                "rust-analyzer.completion.addCallParenthesis": {
-                    "type": "boolean",
+                "rust-analyzer.hoverActions.debug": {
+                    "markdownDescription": "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
                     "default": true,
-                    "description": "Whether to add parenthesis when completing functions"
+                    "type": "boolean"
                 },
-                "rust-analyzer.completion.addCallArgumentSnippets": {
-                    "type": "boolean",
+                "rust-analyzer.hoverActions.enable": {
+                    "markdownDescription": "Whether to show HoverActions in Rust files.",
                     "default": true,
-                    "description": "Whether to add argument snippets when completing functions"
+                    "type": "boolean"
                 },
-                "rust-analyzer.completion.postfix.enable": {
-                    "type": "boolean",
+                "rust-analyzer.hoverActions.gotoTypeDef": {
+                    "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
                     "default": true,
-                    "markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc."
+                    "type": "boolean"
                 },
-                "rust-analyzer.completion.autoimport.enable": {
-                    "type": "boolean",
+                "rust-analyzer.hoverActions.implementations": {
+                    "markdownDescription": "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
                     "default": true,
-                    "markdownDescription": [
-                        "Toggles the additional completions that automatically add imports when completed.",
-                        "Note that your client have to specify the `additionalTextEdits` LSP client capability to truly have this feature enabled"
-                    ]
+                    "type": "boolean"
                 },
-                "rust-analyzer.callInfo.full": {
-                    "type": "boolean",
+                "rust-analyzer.hoverActions.run": {
+                    "markdownDescription": "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
                     "default": true,
-                    "description": "Show function name and docs in parameter hints"
+                    "type": "boolean"
                 },
-                "rust-analyzer.updates.channel": {
-                    "type": "string",
-                    "enum": [
-                        "stable",
-                        "nightly"
-                    ],
-                    "default": "stable",
-                    "markdownEnumDescriptions": [
-                        "`\"stable\"` updates are shipped weekly, they don't contain cutting-edge features from VSCode proposed APIs but have less bugs in general",
-                        "`\"nightly\"` updates are shipped daily (extension updates automatically by downloading artifacts directly from GitHub), they contain cutting-edge features and latest bug fixes. These releases help us get your feedback very quickly and speed up rust-analyzer development **drastically**"
-                    ],
-                    "markdownDescription": "Choose `\"nightly\"` updates to get the latest features and bug fixes every day. While `\"stable\"` releases occur weekly and don't contain cutting-edge features from VSCode proposed APIs"
+                "rust-analyzer.hoverActions.linksInHover": {
+                    "markdownDescription": "Use markdown syntax for links in hover.",
+                    "default": true,
+                    "type": "boolean"
                 },
-                "rust-analyzer.updates.askBeforeDownload": {
-                    "type": "boolean",
+                "rust-analyzer.inlayHints.chainingHints": {
+                    "markdownDescription": "Whether to show inlay type hints for method chains.",
                     "default": true,
-                    "description": "Whether to ask for permission before downloading any files from the Internet"
+                    "type": "boolean"
                 },
-                "rust-analyzer.serverPath": {
+                "rust-analyzer.inlayHints.maxLength": {
+                    "markdownDescription": "Maximum length for inlay hints. Default is unlimited.",
+                    "default": null,
                     "type": [
                         "null",
-                        "string"
-                    ],
-                    "default": null,
-                    "description": "Path to rust-analyzer executable (points to bundled binary by default). If this is set, then \"rust-analyzer.updates.channel\" setting is not used"
-                },
-                "rust-analyzer.trace.server": {
-                    "type": "string",
-                    "scope": "window",
-                    "enum": [
-                        "off",
-                        "messages",
-                        "verbose"
-                    ],
-                    "enumDescriptions": [
-                        "No traces",
-                        "Error only",
-                        "Full log"
-                    ],
-                    "default": "off",
-                    "description": "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users)"
-                },
-                "rust-analyzer.trace.extension": {
-                    "description": "Enable logging of VS Code extensions itself",
-                    "type": "boolean",
-                    "default": false
-                },
-                "rust-analyzer.procMacro.enable": {
-                    "description": "Enable Proc macro support, cargo.loadOutDirsFromCheck must be enabled.",
-                    "type": "boolean",
-                    "default": false
-                },
-                "rust-analyzer.debug.engine": {
-                    "type": "string",
-                    "enum": [
-                        "auto",
-                        "vadimcn.vscode-lldb",
-                        "ms-vscode.cpptools"
+                        "integer"
                     ],
-                    "default": "auto",
-                    "description": "Preferred debug engine.",
-                    "markdownEnumDescriptions": [
-                        "First try to use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb), if it's not installed try to use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools).",
-                        "Use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)",
-                        "Use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)"
-                    ]
-                },
-                "rust-analyzer.debug.sourceFileMap": {
-                    "type": "object",
-                    "description": "Optional source file mappings passed to the debug engine.",
-                    "default": {
-                        "/rustc/<id>": "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
-                    }
-                },
-                "rust-analyzer.debug.openDebugPane": {
-                    "description": "Whether to open up the Debug Pane on debugging start.",
-                    "type": "boolean",
-                    "default": false
+                    "minimum": 0
                 },
-                "rust-analyzer.debug.engineSettings": {
-                    "type": "object",
-                    "default": {},
-                    "description": "Optional settings passed to the debug engine. Example:\n{ \"lldb\": { \"terminal\":\"external\"} }"
-                },
-                "rust-analyzer.lens.enable": {
-                    "description": "Whether to show CodeLens in Rust files.",
-                    "type": "boolean",
-                    "default": true
+                "rust-analyzer.inlayHints.parameterHints": {
+                    "markdownDescription": "Whether to show function parameter name inlay hints at the call site.",
+                    "default": true,
+                    "type": "boolean"
                 },
-                "rust-analyzer.lens.run": {
-                    "markdownDescription": "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
+                "rust-analyzer.inlayHints.typeHints": {
+                    "markdownDescription": "Whether to show inlay type hints for variables.",
+                    "default": true,
+                    "type": "boolean"
                 },
                 "rust-analyzer.lens.debug": {
                     "markdownDescription": "Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
+                    "default": true,
+                    "type": "boolean"
+                },
+                "rust-analyzer.lens.enable": {
+                    "markdownDescription": "Whether to show CodeLens in Rust files.",
+                    "default": true,
+                    "type": "boolean"
                 },
                 "rust-analyzer.lens.implementations": {
                     "markdownDescription": "Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
+                    "default": true,
+                    "type": "boolean"
+                },
+                "rust-analyzer.lens.run": {
+                    "markdownDescription": "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
+                    "default": true,
+                    "type": "boolean"
                 },
                 "rust-analyzer.lens.methodReferences": {
                     "markdownDescription": "Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
-                    "type": "boolean",
-                    "default": false
-                },
-                "rust-analyzer.hoverActions.enable": {
-                    "description": "Whether to show HoverActions in Rust files.",
-                    "type": "boolean",
-                    "default": true
-                },
-                "rust-analyzer.hoverActions.implementations": {
-                    "markdownDescription": "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
-                },
-                "rust-analyzer.hoverActions.run": {
-                    "markdownDescription": "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
-                },
-                "rust-analyzer.hoverActions.debug": {
-                    "markdownDescription": "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
+                    "default": false,
+                    "type": "boolean"
                 },
-                "rust-analyzer.hoverActions.gotoTypeDef": {
-                    "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.",
-                    "type": "boolean",
-                    "default": true
+                "rust-analyzer.lens.references": {
+                    "markdownDescription": "Whether to show `References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.",
+                    "default": false,
+                    "type": "boolean"
                 },
                 "rust-analyzer.linkedProjects": {
-                    "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects.  \nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format",
+                    "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects.\\n\\nElements must be paths pointing to `Cargo.toml`, `rust-project.json`, or JSON objects in `rust-project.json` format.",
+                    "default": [],
                     "type": "array",
                     "items": {
                         "type": [
                             "string",
                             "object"
                         ]
-                    },
-                    "default": null
+                    }
                 },
-                "rust-analyzer.diagnostics.enable": {
-                    "type": "boolean",
-                    "default": true,
-                    "markdownDescription": "Whether to show native rust-analyzer diagnostics."
+                "rust-analyzer.lruCapacity": {
+                    "markdownDescription": "Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.",
+                    "default": null,
+                    "type": [
+                        "null",
+                        "integer"
+                    ],
+                    "minimum": 0
                 },
-                "rust-analyzer.diagnostics.enableExperimental": {
-                    "type": "boolean",
+                "rust-analyzer.notifications.cargoTomlNotFound": {
+                    "markdownDescription": "Whether to show `can't find Cargo.toml` error message.",
                     "default": true,
-                    "markdownDescription": "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual."
-                },
-                "rust-analyzer.diagnostics.disabled": {
-                    "type": "array",
-                    "uniqueItems": true,
-                    "items": {
-                        "type": "string"
-                    },
-                    "description": "List of rust-analyzer diagnostics to disable",
-                    "default": []
-                },
-                "rust-analyzer.diagnostics.warningsAsInfo": {
-                    "type": "array",
-                    "uniqueItems": true,
-                    "items": {
-                        "type": "string"
-                    },
-                    "description": "List of warnings that should be displayed with info severity.\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the problems panel.",
-                    "default": []
-                },
-                "rust-analyzer.diagnostics.warningsAsHint": {
-                    "type": "array",
-                    "uniqueItems": true,
-                    "items": {
-                        "type": "string"
-                    },
-                    "description": "List of warnings that should be displayed with hint severity.\nThe warnings will be indicated by faded text or three dots in code and will not show up in the problems panel.",
-                    "default": []
+                    "type": "boolean"
                 },
-                "rust-analyzer.assist.importMergeBehaviour": {
-                    "type": "string",
-                    "enum": [
-                        "none",
-                        "full",
-                        "last"
-                    ],
-                    "enumDescriptions": [
-                        "No merging",
-                        "Merge all layers of the import trees",
-                        "Only merge the last layer of the import trees"
-                    ],
-                    "default": "full",
-                    "description": "The strategy to use when inserting new imports or merging imports."
+                "rust-analyzer.procMacro.enable": {
+                    "markdownDescription": "Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be enabled.",
+                    "default": false,
+                    "type": "boolean"
                 },
-                "rust-analyzer.assist.importPrefix": {
-                    "type": "string",
-                    "enum": [
-                        "plain",
-                        "by_self",
-                        "by_crate"
-                    ],
-                    "enumDescriptions": [
-                        "Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.",
-                        "Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name",
-                        "Force import paths to be absolute by always starting them with `crate` or the crate name they refer to."
-                    ],
-                    "default": "plain",
-                    "description": "The path structure for newly inserted paths to use."
+                "rust-analyzer.procMacro.server": {
+                    "markdownDescription": "Internal config, path to proc-macro server executable (typically, this is rust-analyzer itself, but we override this in tests).",
+                    "default": null,
+                    "type": [
+                        "null",
+                        "string"
+                    ]
                 },
                 "rust-analyzer.runnables.overrideCargo": {
+                    "markdownDescription": "Command to be executed instead of 'cargo' for runnables.",
+                    "default": null,
                     "type": [
                         "null",
                         "string"
-                    ],
-                    "default": null,
-                    "description": "Command to be executed instead of 'cargo' for runnables."
+                    ]
                 },
                 "rust-analyzer.runnables.cargoExtraArgs": {
+                    "markdownDescription": "Additional arguments to be passed to cargo for runnables such as tests or binaries.\\nFor example, it may be `--release`.",
+                    "default": [],
                     "type": "array",
                     "items": {
                         "type": "string"
-                    },
-                    "default": [],
-                    "description": "Additional arguments to be passed to cargo for runnables such as tests or binaries.\nFor example, it may be '--release'"
+                    }
                 },
                 "rust-analyzer.rustcSource": {
+                    "markdownDescription": "Path to the rust compiler sources, for usage in rustc_private projects.",
+                    "default": null,
                     "type": [
                         "null",
                         "string"
-                    ],
+                    ]
+                },
+                "rust-analyzer.rustfmt.extraArgs": {
+                    "markdownDescription": "Additional arguments to `rustfmt`.",
+                    "default": [],
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "rust-analyzer.rustfmt.overrideCommand": {
+                    "markdownDescription": "Advanced option, fully override the command rust-analyzer uses for formatting.",
                     "default": null,
-                    "description": "Path to the rust compiler sources, for usage in rustc_private projects."
-                }
+                    "type": [
+                        "null",
+                        "array"
+                    ],
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "$generated-end": false
             }
         },
         "problemPatterns": [
                 "extensions": [
                     ".rast"
                 ]
+            },
+            {
+                "id": "rust",
+                "extensions": [
+                    ".rs"
+                ],
+                "aliases": [
+                    "Rust",
+                    "rs"
+                ],
+                "configuration": "language-configuration.json"
             }
         ],
         "grammars": [
-            {
-                "language": "rust",
-                "scopeName": "source.rust",
-                "path": "rust.tmGrammar.json"
-            },
             {
                 "language": "ra_syntax_tree",
                 "scopeName": "source.ra_syntax_tree",
             {
                 "id": "formatSpecifier",
                 "description": "Style for {} placeholders in format strings"
+            },
+            {
+                "id": "punctuation",
+                "description": "generic punctuation"
+            },
+            {
+                "id": "parenthesis",
+                "description": "( or )",
+                "superType": "punctuation"
+            },
+            {
+                "id": "bracket",
+                "description": "[ or ]",
+                "superType": "punctuation"
+            },
+            {
+                "id": "brace",
+                "description": "{ or }",
+                "superType": "punctuation"
+            },
+            {
+                "id": "angle",
+                "description": "< or >",
+                "superType": "punctuation"
+            },
+            {
+                "id": "comma",
+                "description": ",",
+                "superType": "punctuation"
+            },
+            {
+                "id": "colon",
+                "description": ":",
+                "superType": "punctuation"
+            },
+            {
+                "id": "semicolon",
+                "description": ";",
+                "superType": "punctuation"
+            },
+            {
+                "id": "dot",
+                "description": ".",
+                "superType": "punctuation"
             }
         ],
         "semanticTokenModifiers": [
                     "command": "rust-analyzer.syntaxTree",
                     "when": "inRustProject"
                 },
+                {
+                    "command": "rust-analyzer.viewHir",
+                    "when": "inRustProject"
+                },
                 {
                     "command": "rust-analyzer.expandMacro",
                     "when": "inRustProject"