{"_id":"@blockchainian/coc-rust-analyzer","_rev":"1-d32eae78ace7ad60abf68b5bbb990b4f","name":"@blockchainian/coc-rust-analyzer","dist-tags":{"latest":"0.75.1"},"versions":{"0.75.0":{"name":"@blockchainian/coc-rust-analyzer","version":"0.75.0","description":"rust-analyzer for Vim/Neovim, works as an extension with coc.nvim","author":{"name":"Heyward Fann","email":"fannheyward@gmail.com"},"license":"MIT","main":"lib/index.js","keywords":["coc.nvim"],"repository":{"type":"git","url":"git+https://github.com/fannheyward/coc-rust-analyzer.git"},"engines":{"coc":"^0.0.80"},"activationEvents":["onLanguage:rust"],"scripts":{"lint":"eslint src --ext ts","schema":"node ./generate-config-schema.js","build":"node esbuild.mjs","watch":"node esbuild.mjs --watch","prepare":"node esbuild.mjs"},"devDependencies":{"@types/node":"16","@types/node-fetch":"2.6.3","@types/which":"^3.0.0","@typescript-eslint/eslint-plugin":"^6.4.1","@typescript-eslint/parser":"^6.4.1","coc.nvim":"^0.0.83-next.18","esbuild":"^0.19.2","eslint":"^8.2.0","https-proxy-agent":"^7.0.0","node-fetch":"2.6.7","typescript":"^5.0.3","vscode-languageserver-protocol":"^3.16.0","which":"^3.0.1"},"prettier":{"singleQuote":true,"printWidth":180,"semi":true},"contributes":{"rootPatterns":[{"filetype":"rust","patterns":["Cargo.toml","rust-project.json"]}],"jsonValidation":[{"fileMatch":"rust-project.json","url":"https://json.schemastore.org/rust-project.json"}],"configuration":{"type":"object","title":"coc-rust-analyzer configuration","properties":{"rust-analyzer.enable":{"type":"boolean","markdownDescription":"Enable `coc-rust-analyzer`","default":true},"rust-analyzer.disableProgressNotifications":{"type":"boolean","default":false,"markdownDescription":"Disable initialization and workdone progress notifications"},"rust-analyzer.terminal.startinsert":{"type":"boolean","default":false,"markdownDescription":"Enter insert mode after terminal displayed"},"rust-analyzer.debug.runtime":{"type":"string","default":"termdebug","enum":["termdebug","vimspector","nvim-dap"],"markdownDescription":"Choose which debug runtime to use","enumDescriptions":["`\"termdebug\"` use vim/neovim builtin debugger - gdb","`\"vimspector\"` use vimspector plugin","`\"nvim-dap\"` use nvim-dap plugin"]},"rust-analyzer.debug.vimspector.configuration.name":{"type":"string","default":"launch","markdownDescription":"Specify the name of the vimspector configuration name. The following args will be passed to the configuration: `Executable` and `Args` (both strings)"},"rust-analyzer.debug.nvimdap.configuration.template":{"type":"string","default":"","markdownDescription":"Configuration template used to invoked dap.run([conf](https://github.com/mfussenegger/nvim-dap/blob/0e6b7c47dd70e80793ed39271b2aa712d9366dbc/doc/dap.txt#L656C2-L656C2)). The template will be instantiate like thie: `$exe` will be replaced with executable path, `$args` will be replaced with arguments."},"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.restartServerOnConfigChange":{"markdownDescription":"Whether to restart the server automatically when certain settings that require a restart are changed.","default":false,"type":"boolean"},"rust-analyzer.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"enumDescriptions":["No traces","Error only","Full log"],"default":"off","markdownDescription":"Trace requests to the rust-analyzer"},"rust-analyzer.updates.prompt":{"type":["boolean","string"],"enum":[true,false,"neverDownload"],"default":true,"markdownDescription":"Prompt the user before downloading rust-analyzer"},"rust-analyzer.updates.checkOnStartup":{"type":"boolean","default":true,"markdownDescription":"Auto-check rust-analyzer updates on startup"},"rust-analyzer.updates.channel":{"type":"string","default":"stable","enum":["stable","nightly"],"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","enumDescriptions":["`\"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**"]},"rust-analyzer.assist.emitMustUse":{"markdownDescription":"Whether to insert #[must_use] when generating `as_` methods\nfor enum variants.","default":false,"type":"boolean"},"rust-analyzer.assist.expressionFillDefault":{"markdownDescription":"Placeholder expression to use for missing expressions in assists.","default":"todo","type":"string","enum":["todo","default"],"enumDescriptions":["Fill missing expressions with the `todo` macro","Fill missing expressions with reasonable defaults, `new` or `default` constructors."]},"rust-analyzer.cachePriming.enable":{"markdownDescription":"Warm up caches on project load.","default":true,"type":"boolean"},"rust-analyzer.cachePriming.numThreads":{"markdownDescription":"How many worker threads to handle priming caches. The default `0` means to pick automatically.","default":0,"type":"number","minimum":0,"maximum":255},"rust-analyzer.cargo.autoreload":{"markdownDescription":"Automatically refresh project info via `cargo metadata` on\n`Cargo.toml` or `.cargo/config.toml` changes.","default":true,"type":"boolean"},"rust-analyzer.cargo.buildScripts.enable":{"markdownDescription":"Run build scripts (`build.rs`) for more precise code analysis.","default":true,"type":"boolean"},"rust-analyzer.cargo.buildScripts.invocationLocation":{"markdownDescription":"Specifies the working directory for running build scripts.\n- \"workspace\": run build scripts for a workspace in the workspace's root directory.\n  This is incompatible with `#rust-analyzer.cargo.buildScripts.invocationStrategy#` set to `once`.\n- \"root\": run build scripts in the project's root directory.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.","default":"workspace","type":"string","enum":["workspace","root"],"enumDescriptions":["The command will be executed in the corresponding workspace root.","The command will be executed in the project root."]},"rust-analyzer.cargo.buildScripts.invocationStrategy":{"markdownDescription":"Specifies the invocation strategy to use when running the build scripts command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.","default":"per_workspace","type":"string","enum":["per_workspace","once"],"enumDescriptions":["The command will be executed for each workspace.","The command will be executed once."]},"rust-analyzer.cargo.buildScripts.overrideCommand":{"markdownDescription":"Override the command rust-analyzer uses to run build scripts and\nbuild procedural macros. The command is required to output json\nand should therefore include `--message-format=json` or a similar\noption.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.cargo.buildScripts.invocationStrategy#` and\n`#rust-analyzer.cargo.buildScripts.invocationLocation#`.\n\nBy default, a cargo invocation will be constructed for the configured\ntargets and features, with the following base command line:\n\n```bash\ncargo check --quiet --workspace --message-format=json --all-targets\n```\n.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.cargo.buildScripts.useRustcWrapper":{"markdownDescription":"Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to\navoid checking unnecessary things.","default":true,"type":"boolean"},"rust-analyzer.cargo.cfgs":{"markdownDescription":"List of cfg options to enable with the given values.","default":{},"type":"object"},"rust-analyzer.cargo.extraArgs":{"markdownDescription":"Extra arguments that are passed to every cargo invocation.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.cargo.extraEnv":{"markdownDescription":"Extra environment variables that will be set when running cargo, rustc\nor other commands within the workspace. Useful for setting RUSTFLAGS.","default":{},"type":"object"},"rust-analyzer.cargo.features":{"markdownDescription":"List of features to activate.\n\nSet this to `\"all\"` to pass `--all-features` to cargo.","default":[],"anyOf":[{"type":"string","enum":["all"],"enumDescriptions":["Pass `--all-features` to cargo"]},{"type":"array","items":{"type":"string"}}]},"rust-analyzer.cargo.noDefaultFeatures":{"markdownDescription":"Whether to pass `--no-default-features` to cargo.","default":false,"type":"boolean"},"rust-analyzer.cargo.sysroot":{"markdownDescription":"Relative path to the sysroot, or \"discover\" to try to automatically find it via\n\"rustc --print sysroot\".\n\nUnsetting this disables sysroot loading.\n\nThis option does not take effect until rust-analyzer is restarted.","default":"discover","type":["null","string"]},"rust-analyzer.cargo.sysrootSrc":{"markdownDescription":"Relative path to the sysroot library sources. If left unset, this will default to\n`{cargo.sysroot}/lib/rustlib/src/rust/library`.\n\nThis option does not take effect until rust-analyzer is restarted.","default":null,"type":["null","string"]},"rust-analyzer.cargo.target":{"markdownDescription":"Compilation target override (target triple).","default":null,"type":["null","string"]},"rust-analyzer.cargo.unsetTest":{"markdownDescription":"Unsets the implicit `#[cfg(test)]` for the specified crates.","default":["core"],"type":"array","items":{"type":"string"}},"rust-analyzer.checkOnSave":{"markdownDescription":"Run the check command for diagnostics on save.","default":true,"type":"boolean"},"rust-analyzer.check.allTargets":{"markdownDescription":"Check all targets and tests (`--all-targets`).","default":true,"type":"boolean"},"rust-analyzer.check.command":{"markdownDescription":"Cargo command to use for `cargo check`.","default":"check","type":"string"},"rust-analyzer.check.extraArgs":{"markdownDescription":"Extra arguments for `cargo check`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.check.extraEnv":{"markdownDescription":"Extra environment variables that will be set when running `cargo check`.\nExtends `#rust-analyzer.cargo.extraEnv#`.","default":{},"type":"object"},"rust-analyzer.check.features":{"markdownDescription":"List of features to activate. Defaults to\n`#rust-analyzer.cargo.features#`.\n\nSet to `\"all\"` to pass `--all-features` to Cargo.","default":null,"anyOf":[{"type":"string","enum":["all"],"enumDescriptions":["Pass `--all-features` to cargo"]},{"type":"array","items":{"type":"string"}},{"type":"null"}]},"rust-analyzer.check.ignore":{"markdownDescription":"List of `cargo check` (or other command specified in `check.command`) diagnostics to ignore.\n\nFor example for `cargo check`: `dead_code`, `unused_imports`, `unused_variables`,...","default":[],"type":"array","items":{"type":"string"},"uniqueItems":true},"rust-analyzer.check.invocationLocation":{"markdownDescription":"Specifies the working directory for running checks.\n- \"workspace\": run checks for workspaces in the corresponding workspaces' root directories.\n  This falls back to \"root\" if `#rust-analyzer.cargo.check.invocationStrategy#` is set to `once`.\n- \"root\": run checks in the project's root directory.\nThis config only has an effect when `#rust-analyzer.cargo.check.overrideCommand#`\nis set.","default":"workspace","type":"string","enum":["workspace","root"],"enumDescriptions":["The command will be executed in the corresponding workspace root.","The command will be executed in the project root."]},"rust-analyzer.check.invocationStrategy":{"markdownDescription":"Specifies the invocation strategy to use when running the check command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.cargo.check.overrideCommand#`\nis set.","default":"per_workspace","type":"string","enum":["per_workspace","once"],"enumDescriptions":["The command will be executed for each workspace.","The command will be executed once."]},"rust-analyzer.check.noDefaultFeatures":{"markdownDescription":"Whether to pass `--no-default-features` to Cargo. Defaults to\n`#rust-analyzer.cargo.noDefaultFeatures#`.","default":null,"type":["null","boolean"]},"rust-analyzer.check.overrideCommand":{"markdownDescription":"Override the command rust-analyzer uses instead of `cargo check` for\ndiagnostics on save. The command is required to output json and\nshould therefore include `--message-format=json` or a similar option\n(if your client supports the `colorDiagnosticOutput` experimental\ncapability, you can use `--message-format=json-diagnostic-rendered-ansi`).\n\nIf you're changing this because you're using some tool wrapping\nCargo, you might also want to change\n`#rust-analyzer.cargo.buildScripts.overrideCommand#`.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.cargo.check.invocationStrategy#` and\n`#rust-analyzer.cargo.check.invocationLocation#`.\n\nAn example command would be:\n\n```bash\ncargo check --workspace --message-format=json --all-targets\n```\n.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.check.targets":{"markdownDescription":"Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty.\n\nCan be a single target, e.g. `\"x86_64-unknown-linux-gnu\"` or a list of targets, e.g.\n`[\"aarch64-apple-darwin\", \"x86_64-apple-darwin\"]`.\n\nAliased as `\"checkOnSave.targets\"`.","default":null,"anyOf":[{"type":"null"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"rust-analyzer.completion.autoimport.enable":{"markdownDescription":"Toggles the additional completions that automatically add imports when completed.\nNote that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.","default":true,"type":"boolean"},"rust-analyzer.completion.autoself.enable":{"markdownDescription":"Toggles the additional completions that automatically show method calls and field accesses\nwith `self` prefixed to them when inside a method.","default":true,"type":"boolean"},"rust-analyzer.completion.callable.snippets":{"markdownDescription":"Whether to add parenthesis and argument snippets when completing function.","default":"fill_arguments","type":"string","enum":["fill_arguments","add_parentheses","none"],"enumDescriptions":["Add call parentheses and pre-fill arguments.","Add call parentheses.","Do no snippet completions for callables."]},"rust-analyzer.completion.fullFunctionSignatures.enable":{"markdownDescription":"Whether to show full function/method signatures in completion docs.","default":false,"type":"boolean"},"rust-analyzer.completion.limit":{"markdownDescription":"Maximum number of completions to return. If `None`, the limit is infinite.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.completion.postfix.enable":{"markdownDescription":"Whether to show postfix snippets like `dbg`, `if`, `not`, etc.","default":true,"type":"boolean"},"rust-analyzer.completion.privateEditable.enable":{"markdownDescription":"Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.","default":false,"type":"boolean"},"rust-analyzer.completion.snippets.custom":{"markdownDescription":"Custom completion snippets.","default":{"Arc::new":{"postfix":"arc","body":"Arc::new(${receiver})","requires":"std::sync::Arc","description":"Put the expression into an `Arc`","scope":"expr"},"Rc::new":{"postfix":"rc","body":"Rc::new(${receiver})","requires":"std::rc::Rc","description":"Put the expression into an `Rc`","scope":"expr"},"Box::pin":{"postfix":"pinbox","body":"Box::pin(${receiver})","requires":"std::boxed::Box","description":"Put the expression into a pinned `Box`","scope":"expr"},"Ok":{"postfix":"ok","body":"Ok(${receiver})","description":"Wrap the expression in a `Result::Ok`","scope":"expr"},"Err":{"postfix":"err","body":"Err(${receiver})","description":"Wrap the expression in a `Result::Err`","scope":"expr"},"Some":{"postfix":"some","body":"Some(${receiver})","description":"Wrap the expression in an `Option::Some`","scope":"expr"}},"type":"object"},"rust-analyzer.diagnostics.disabled":{"markdownDescription":"List of rust-analyzer diagnostics to disable.","default":[],"type":"array","items":{"type":"string"},"uniqueItems":true},"rust-analyzer.diagnostics.enable":{"markdownDescription":"Whether to show native rust-analyzer diagnostics.","default":true,"type":"boolean"},"rust-analyzer.diagnostics.experimental.enable":{"markdownDescription":"Whether to show experimental rust-analyzer diagnostics that might\nhave more false positives than usual.","default":false,"type":"boolean"},"rust-analyzer.diagnostics.remapPrefix":{"markdownDescription":"Map of prefixes to be substituted when parsing diagnostic file paths.\nThis should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.","default":{},"type":"object"},"rust-analyzer.diagnostics.warningsAsHint":{"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\nand will not show up in the `Problems Panel`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.diagnostics.warningsAsInfo":{"markdownDescription":"List of warnings that should be displayed with info severity.\n\nThe warnings will be indicated by a blue squiggly underline in code\nand a blue icon in the `Problems Panel`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.files.excludeDirs":{"markdownDescription":"These directories will be ignored by rust-analyzer. They are\nrelative to the workspace root, and globs are not supported. You may\nalso need to add the folders to Code's `files.watcherExclude`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.files.watcher":{"markdownDescription":"Controls file watching implementation.","default":"client","type":"string","enum":["client","server"],"enumDescriptions":["Use the client (editor) to watch files for changes","Use server-side file watching"]},"rust-analyzer.highlightRelated.breakPoints.enable":{"markdownDescription":"Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.closureCaptures.enable":{"markdownDescription":"Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.exitPoints.enable":{"markdownDescription":"Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`).","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.references.enable":{"markdownDescription":"Enables highlighting of related references while the cursor is on any identifier.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.yieldPoints.enable":{"markdownDescription":"Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords.","default":true,"type":"boolean"},"rust-analyzer.hover.documentation.enable":{"markdownDescription":"Whether to show documentation on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.documentation.keywords.enable":{"markdownDescription":"Whether to show keyword hover popups. Only applies when\n`#rust-analyzer.hover.documentation.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.hover.links.enable":{"markdownDescription":"Use markdown syntax for links on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.memoryLayout.alignment":{"markdownDescription":"How to render the align information in a memory layout hover.","default":"hexadecimal","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"rust-analyzer.hover.memoryLayout.enable":{"markdownDescription":"Whether to show memory layout data on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.memoryLayout.niches":{"markdownDescription":"How to render the niche information in a memory layout hover.","default":false,"type":["null","boolean"]},"rust-analyzer.hover.memoryLayout.offset":{"markdownDescription":"How to render the offset information in a memory layout hover.","default":"hexadecimal","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"rust-analyzer.hover.memoryLayout.size":{"markdownDescription":"How to render the size information in a memory layout hover.","default":"both","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"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.","default":false,"type":"boolean"},"rust-analyzer.imports.granularity.group":{"markdownDescription":"How imports should be grouped into use statements.","default":"crate","type":"string","enum":["preserve","crate","module","item"],"enumDescriptions":["Do not change the granularity of any imports and preserve the original structure written by the developer.","Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.","Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.","Flatten imports so that each has its own use statement."]},"rust-analyzer.imports.group.enable":{"markdownDescription":"Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.","default":true,"type":"boolean"},"rust-analyzer.imports.merge.glob":{"markdownDescription":"Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.","default":true,"type":"boolean"},"rust-analyzer.imports.preferNoStd":{"markdownDescription":"Prefer to unconditionally use imports of the core and alloc crate, over the std crate.","default":false,"type":"boolean"},"rust-analyzer.imports.preferPrelude":{"markdownDescription":"Whether to prefer import paths containing a `prelude` module.","default":false,"type":"boolean"},"rust-analyzer.imports.prefix":{"markdownDescription":"The path structure for newly inserted paths to use.","default":"plain","type":"string","enum":["plain","self","crate"],"enumDescriptions":["Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.","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.","Force import paths to be absolute by always starting them with `crate` or the extern crate name they come from."]},"rust-analyzer.inlayHints.bindingModeHints.enable":{"markdownDescription":"Whether to show inlay type hints for binding modes.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.chainingHints.enable":{"markdownDescription":"Whether to show inlay type hints for method chains.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.closingBraceHints.enable":{"markdownDescription":"Whether to show inlay hints after a closing `}` to indicate what item it belongs to.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.closingBraceHints.minLines":{"markdownDescription":"Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1\nto always show them).","default":25,"type":"integer","minimum":0},"rust-analyzer.inlayHints.closureCaptureHints.enable":{"markdownDescription":"Whether to show inlay hints for closure captures.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.closureReturnTypeHints.enable":{"markdownDescription":"Whether to show inlay type hints for return types of closures.","default":"never","type":"string","enum":["always","never","with_block"],"enumDescriptions":["Always show type hints for return types of closures.","Never show type hints for return types of closures.","Only show type hints for return types of closures with blocks."]},"rust-analyzer.inlayHints.closureStyle":{"markdownDescription":"Closure notation in type and chaining inlay hints.","default":"impl_fn","type":"string","enum":["impl_fn","rust_analyzer","with_id","hide"],"enumDescriptions":["`impl_fn`: `impl FnMut(i32, u64) -> i8`","`rust_analyzer`: `|i32, u64| -> i8`","`with_id`: `{closure#14352}`, where that id is the unique number of the closure in r-a internals","`hide`: Shows `...` for every closure type"]},"rust-analyzer.inlayHints.discriminantHints.enable":{"markdownDescription":"Whether to show enum variant discriminant hints.","default":"never","type":"string","enum":["always","never","fieldless"],"enumDescriptions":["Always show all discriminant hints.","Never show discriminant hints.","Only show discriminant hints on fieldless enum variants."]},"rust-analyzer.inlayHints.expressionAdjustmentHints.enable":{"markdownDescription":"Whether to show inlay hints for type adjustments.","default":"never","type":"string","enum":["always","never","reborrow"],"enumDescriptions":["Always show all adjustment hints.","Never show adjustment hints.","Only show auto borrow and dereference adjustment hints."]},"rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe":{"markdownDescription":"Whether to hide inlay hints for type adjustments outside of `unsafe` blocks.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.expressionAdjustmentHints.mode":{"markdownDescription":"Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc).","default":"prefix","type":"string","enum":["prefix","postfix","prefer_prefix","prefer_postfix"],"enumDescriptions":["Always show adjustment hints as prefix (`*expr`).","Always show adjustment hints as postfix (`expr.*`).","Show prefix or postfix depending on which uses less parenthesis, preferring prefix.","Show prefix or postfix depending on which uses less parenthesis, preferring postfix."]},"rust-analyzer.inlayHints.implicitDrops.enable":{"markdownDescription":"Whether to show implicit drop hints.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.lifetimeElisionHints.enable":{"markdownDescription":"Whether to show inlay type hints for elided lifetimes in function signatures.","default":"never","type":"string","enum":["always","never","skip_trivial"],"enumDescriptions":["Always show lifetime elision hints.","Never show lifetime elision hints.","Only show lifetime elision hints if a return type is involved."]},"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames":{"markdownDescription":"Whether to prefer using parameter names as the name for elided lifetime hints if possible.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.maxLength":{"markdownDescription":"Maximum length for inlay hints. Set to null to have an unlimited length.","default":25,"type":["null","integer"],"minimum":0},"rust-analyzer.inlayHints.parameterHints.enable":{"markdownDescription":"Whether to show function parameter name inlay hints at the call\nsite.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.reborrowHints.enable":{"markdownDescription":"Whether to show inlay hints for compiler inserted reborrows.\nThis setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.","default":"never","type":"string","enum":["always","never","mutable"],"enumDescriptions":["Always show reborrow hints.","Never show reborrow hints.","Only show mutable reborrow hints."]},"rust-analyzer.inlayHints.renderColons":{"markdownDescription":"Whether to render leading colons for type hints, and trailing colons for parameter hints.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.enable":{"markdownDescription":"Whether to show inlay type hints for variables.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.hideClosureInitialization":{"markdownDescription":"Whether to hide inlay type hints for `let` statements that initialize to a closure.\nOnly applies to closures with blocks, same as `#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.hideNamedConstructor":{"markdownDescription":"Whether to hide inlay type hints for constructors.","default":false,"type":"boolean"},"rust-analyzer.interpret.tests":{"markdownDescription":"Enables the experimental support for interpreting tests.","default":false,"type":"boolean"},"rust-analyzer.joinLines.joinAssignments":{"markdownDescription":"Join lines merges consecutive declaration and initialization of an assignment.","default":true,"type":"boolean"},"rust-analyzer.joinLines.joinElseIf":{"markdownDescription":"Join lines inserts else between consecutive ifs.","default":true,"type":"boolean"},"rust-analyzer.joinLines.removeTrailingComma":{"markdownDescription":"Join lines removes trailing commas.","default":true,"type":"boolean"},"rust-analyzer.joinLines.unwrapTrivialBlock":{"markdownDescription":"Join lines unwraps trivial blocks.","default":true,"type":"boolean"},"rust-analyzer.lens.debug.enable":{"markdownDescription":"Whether to show `Debug` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.lens.enable":{"markdownDescription":"Whether to show CodeLens in Rust files.","default":true,"type":"boolean"},"rust-analyzer.lens.forceCustomCommands":{"markdownDescription":"Internal config: use custom client-side commands even when the\nclient doesn't set the corresponding capability.","default":true,"type":"boolean"},"rust-analyzer.lens.implementations.enable":{"markdownDescription":"Whether to show `Implementations` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.lens.location":{"markdownDescription":"Where to render annotations.","default":"above_name","type":"string","enum":["above_name","above_whole_item"],"enumDescriptions":["Render annotations above the name of the item.","Render annotations above the whole item, including documentation comments and attributes."]},"rust-analyzer.lens.references.adt.enable":{"markdownDescription":"Whether to show `References` lens for Struct, Enum, and Union.\nOnly applies when `#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"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"},"rust-analyzer.lens.references.method.enable":{"markdownDescription":"Whether to show `Method References` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"rust-analyzer.lens.references.trait.enable":{"markdownDescription":"Whether to show `References` lens for Trait.\nOnly applies when `#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"rust-analyzer.lens.run.enable":{"markdownDescription":"Whether to show `Run` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.linkedProjects":{"markdownDescription":"Disable project auto-discovery in favor of explicitly specified set\nof projects.\n\nElements must be paths pointing to `Cargo.toml`,\n`rust-project.json`, or JSON objects in `rust-project.json` format.","default":[],"type":"array","items":{"type":["string","object"]}},"rust-analyzer.lru.capacity":{"markdownDescription":"Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.lru.query.capacities":{"markdownDescription":"Sets the LRU capacity of the specified queries.","default":{},"type":"object"},"rust-analyzer.notifications.cargoTomlNotFound":{"markdownDescription":"Whether to show `can't find Cargo.toml` error message.","default":true,"type":"boolean"},"rust-analyzer.numThreads":{"markdownDescription":"How many worker threads in the main loop. The default `null` means to pick automatically.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.procMacro.attributes.enable":{"markdownDescription":"Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set.","default":true,"type":"boolean"},"rust-analyzer.procMacro.enable":{"markdownDescription":"Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`.","default":true,"type":"boolean"},"rust-analyzer.procMacro.ignored":{"markdownDescription":"These proc-macros will be ignored when trying to expand them.\n\nThis config takes a map of crate names with the exported proc-macro names to ignore as values.","default":{},"type":"object"},"rust-analyzer.procMacro.server":{"markdownDescription":"Internal config, path to proc-macro server executable.","default":null,"type":["null","string"]},"rust-analyzer.references.excludeImports":{"markdownDescription":"Exclude imports from find-all-references.","default":false,"type":"boolean"},"rust-analyzer.runnables.command":{"markdownDescription":"Command to be executed instead of 'cargo' for runnables.","default":null,"type":["null","string"]},"rust-analyzer.runnables.extraArgs":{"markdownDescription":"Additional arguments to be passed to cargo for runnables such as\ntests or binaries. For example, it may be `--release`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.rust.analyzerTargetDir":{"markdownDescription":"Optional path to a rust-analyzer specific target directory.\nThis prevents rust-analyzer's `cargo check` from locking the `Cargo.lock`\nat the expense of duplicating build artifacts.\n\nSet to `true` to use a subdirectory of the existing target directory or\nset to a path relative to the workspace to use that path.","default":null,"anyOf":[{"type":"null"},{"type":"boolean"},{"type":"string"}]},"rust-analyzer.rustc.source":{"markdownDescription":"Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private\nprojects, or \"discover\" to try to automatically find it if the `rustc-dev` component\nis installed.\n\nAny project which uses rust-analyzer with the rustcPrivate\ncrates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it.\n\nThis option does not take effect until rust-analyzer is restarted.","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\nformatting. This should be the equivalent of `rustfmt` here, and\nnot that of `cargo fmt`. The file contents will be passed on the\nstandard input and the formatted result will be read from the\nstandard output.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.rustfmt.rangeFormatting.enable":{"markdownDescription":"Enables the use of rustfmt's unstable range formatting command for the\n`textDocument/rangeFormatting` request. The rustfmt option is unstable and only\navailable on a nightly build.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.doc.comment.inject.enable":{"markdownDescription":"Inject additional highlighting into doc comments.\n\nWhen enabled, rust-analyzer will highlight rust source in doc comments as well as intra\ndoc links.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.nonStandardTokens":{"markdownDescription":"Whether the server is allowed to emit non-standard tokens and modifiers.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.operator.enable":{"markdownDescription":"Use semantic tokens for operators.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for operator tokens when\nthey are tagged with modifiers.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.operator.specialization.enable":{"markdownDescription":"Use specialized semantic tokens for operators.\n\nWhen enabled, rust-analyzer will emit special token types for operator tokens instead\nof the generic `operator` token type.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.enable":{"markdownDescription":"Use semantic tokens for punctuation.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when\nthey are tagged with modifiers or have a special role.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang":{"markdownDescription":"When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro\ncalls.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.specialization.enable":{"markdownDescription":"Use specialized semantic tokens for punctuation.\n\nWhen enabled, rust-analyzer will emit special token types for punctuation tokens instead\nof the generic `punctuation` token type.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.strings.enable":{"markdownDescription":"Use semantic tokens for strings.\n\nIn some editors (e.g. vscode) semantic tokens override other highlighting grammars.\nBy disabling semantic tokens for strings, other grammars can be used to highlight\ntheir contents.","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.typing.autoClosingAngleBrackets.enable":{"markdownDescription":"Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list.","default":false,"type":"boolean"},"rust-analyzer.workspace.symbol.search.kind":{"markdownDescription":"Workspace symbol search kind.","default":"only_types","type":"string","enum":["only_types","all_symbols"],"enumDescriptions":["Search for types only.","Search for all symbols kinds."]},"rust-analyzer.workspace.symbol.search.limit":{"markdownDescription":"Limits the number of items returned from a workspace symbol search (Defaults to 128).\nSome clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search.\nOther clients requires all results upfront and might require a higher limit.","default":128,"type":"integer","minimum":0},"rust-analyzer.workspace.symbol.search.scope":{"markdownDescription":"Workspace symbol search scope.","default":"workspace","type":"string","enum":["workspace","workspace_and_dependencies"],"enumDescriptions":["Search in current workspace only.","Search in current workspace and dependencies."]}}},"commands":[{"command":"rust-analyzer.analyzerStatus","title":"Status","category":"rust-analyzer"},{"command":"rust-analyzer.memoryUsage","title":"Memory Usage (Clears Database)","category":"rust-analyzer"},{"command":"rust-analyzer.reloadWorkspace","title":"Reload workspace","category":"rust-analyzer"},{"command":"rust-analyzer.joinLines","title":"Join lines","category":"rust-analyzer"},{"command":"rust-analyzer.matchingBrace","title":"Find matching brace","category":"rust-analyzer"},{"command":"rust-analyzer.openDocs","title":"Open docs under cursor","category":"rust-analyzer"},{"command":"rust-analyzer.openCargoToml","title":"Open Cargo.toml","category":"rust-analyzer"},{"command":"rust-analyzer.parentModule","title":"Locate parent module","category":"rust-analyzer"},{"command":"rust-analyzer.reload","title":"Restart server","category":"rust-analyzer"},{"command":"rust-analyzer.run","title":"Run","category":"rust-analyzer"},{"command":"rust-analyzer.debug","title":"Debug","category":"rust-analyzer"},{"command":"rust-analyzer.ssr","title":"Structural Search Replace","category":"rust-analyzer"},{"command":"rust-analyzer.serverVersion","title":"Show current Rust Analyzer server version","category":"rust-analyzer"},{"command":"rust-analyzer.syntaxTree","title":"Show Syntax Tree","category":"rust-analyzer"},{"command":"rust-analyzer.testCurrent","title":"Test Current","category":"rust-analyzer"},{"command":"rust-analyzer.upgrade","title":"Upgrade Rust Analyzer from GitHub release","category":"rust-analyzer"},{"command":"rust-analyzer.expandMacro","title":"Expand macro recursively at caret","category":"rust-analyzer"},{"command":"rust-analyzer.viewHir","title":"View Hir","category":"rust-analyzer"},{"command":"rust-analyzer.viewMir","title":"View Mir","category":"rust-analyzer"},{"command":"rust-analyzer.viewFileText","title":"View File Text (as seen by the server)","category":"rust-analyzer"},{"command":"rust-analyzer.viewItemTree","title":"Debug ItemTree","category":"rust-analyzer"},{"command":"rust-analyzer.viewCrateGraph","title":"View Crate Graph","category":"rust-analyzer"},{"command":"rust-analyzer.shuffleCrateGraph","title":"Shuffle Crate Graph","category":"rust-analyzer"},{"command":"rust-analyzer.viewFullCrateGraph","title":"View Crate Graph (Full)","category":"rust-analyzer"},{"command":"rust-analyzer.echoRunCommandLine","title":"Echo Run Command Line","category":"rust-analyzer"},{"command":"rust-analyzer.peekTests","title":"Peek related tests","category":"rust-analyzer"},{"command":"rust-analyzer.moveItemUp","title":"Move item up","category":"rust-analyzer"},{"command":"rust-analyzer.moveItemDown","title":"Move item down","category":"rust-analyzer"},{"command":"rust-analyzer.runFlycheck","title":"Run flycheck","category":"rust-analyzer"},{"command":"rust-analyzer.cancelFlycheck","title":"Cancel running flychecks","category":"rust-analyzer"},{"command":"rust-analyzer.clearFlycheck","title":"Clear flycheck diagnostics","category":"rust-analyzer"},{"command":"rust-analyzer.rebuildProcMacros","title":"Rebuild proc macros and build scripts","category":"rust-analyzer"},{"command":"rust-analyzer.interpretFunction","title":"Interpret Function","category":"rust-analyzer"},{"command":"rust-analyzer.explainError","title":"Explain the currently hovered diagnostic","category":"rust-analyzer"}]},"gitHead":"409b6ca15ccc9010a7cfb230c66dda340e19fd60","bugs":{"url":"https://github.com/fannheyward/coc-rust-analyzer/issues"},"homepage":"https://github.com/fannheyward/coc-rust-analyzer#readme","_id":"@blockchainian/coc-rust-analyzer@0.75.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-LPF5MohIFbAimn0/zzkHC+5EVTZxsN5TmNTMtSg7Bm1+qoSyUZWNi5WC7qu0IZIQNMMECQaJTVKgixA7irIeag==","shasum":"abc58ffd9d06d04af257beaa8cb5169f89d812e5","tarball":"https://registry.npmjs.org/@blockchainian/coc-rust-analyzer/-/coc-rust-analyzer-0.75.0.tgz","fileCount":4,"unpackedSize":570597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID4tFF9tDiwS4b9ukbRbAABhbHoD01h03C5Ichz8OSWQAiAXt7yvKhPGdWMw1RE6F4Z7Jk1wAN+3P7YxEaYwBrgLqQ=="}]},"_npmUser":{"name":"pengchengchen","email":"pengcheng.chen@gmail.com"},"directories":{},"maintainers":[{"name":"pengchengchen","email":"pengcheng.chen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/coc-rust-analyzer_0.75.0_1704351771101_0.8766669710623785"},"_hasShrinkwrap":false},"0.75.1":{"name":"@blockchainian/coc-rust-analyzer","version":"0.75.1","description":"rust-analyzer for Vim/Neovim, works as an extension with coc.nvim","author":{"name":"Heyward Fann","email":"fannheyward@gmail.com"},"license":"MIT","main":"lib/index.js","keywords":["coc.nvim"],"repository":{"type":"git","url":"git+https://github.com/fannheyward/coc-rust-analyzer.git"},"engines":{"coc":"^0.0.80"},"activationEvents":["onLanguage:rust"],"scripts":{"lint":"eslint src --ext ts","schema":"node ./generate-config-schema.js","build":"node esbuild.mjs","watch":"node esbuild.mjs --watch","prepare":"node esbuild.mjs"},"devDependencies":{"@types/node":"16","@types/node-fetch":"2.6.3","@types/which":"^3.0.0","@typescript-eslint/eslint-plugin":"^6.4.1","@typescript-eslint/parser":"^6.4.1","coc.nvim":"^0.0.83-next.18","esbuild":"^0.19.2","eslint":"^8.2.0","https-proxy-agent":"^7.0.0","node-fetch":"2.6.7","typescript":"^5.0.3","vscode-languageserver-protocol":"^3.16.0","which":"^3.0.1"},"prettier":{"singleQuote":true,"printWidth":180,"semi":true},"contributes":{"rootPatterns":[{"filetype":"rust","patterns":["Cargo.toml","rust-project.json"]}],"jsonValidation":[{"fileMatch":"rust-project.json","url":"https://json.schemastore.org/rust-project.json"}],"configuration":{"type":"object","title":"coc-rust-analyzer configuration","properties":{"rust-analyzer.enable":{"type":"boolean","markdownDescription":"Enable `coc-rust-analyzer`","default":true},"rust-analyzer.disableProgressNotifications":{"type":"boolean","default":false,"markdownDescription":"Disable initialization and workdone progress notifications"},"rust-analyzer.terminal.startinsert":{"type":"boolean","default":false,"markdownDescription":"Enter insert mode after terminal displayed"},"rust-analyzer.debug.runtime":{"type":"string","default":"termdebug","enum":["termdebug","vimspector","nvim-dap"],"markdownDescription":"Choose which debug runtime to use","enumDescriptions":["`\"termdebug\"` use vim/neovim builtin debugger - gdb","`\"vimspector\"` use vimspector plugin","`\"nvim-dap\"` use nvim-dap plugin"]},"rust-analyzer.debug.vimspector.configuration.name":{"type":"string","default":"launch","markdownDescription":"Specify the name of the vimspector configuration name. The following args will be passed to the configuration: `Executable` and `Args` (both strings)"},"rust-analyzer.debug.nvimdap.configuration.template":{"type":"string","default":"","markdownDescription":"Configuration template used to invoked dap.run([conf](https://github.com/mfussenegger/nvim-dap/blob/0e6b7c47dd70e80793ed39271b2aa712d9366dbc/doc/dap.txt#L656C2-L656C2)). The template will be instantiate like thie: `$exe` will be replaced with executable path, `$args` will be replaced with arguments."},"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.restartServerOnConfigChange":{"markdownDescription":"Whether to restart the server automatically when certain settings that require a restart are changed.","default":false,"type":"boolean"},"rust-analyzer.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"enumDescriptions":["No traces","Error only","Full log"],"default":"off","markdownDescription":"Trace requests to the rust-analyzer"},"rust-analyzer.updates.prompt":{"type":["boolean","string"],"enum":[true,false,"neverDownload"],"default":true,"markdownDescription":"Prompt the user before downloading rust-analyzer"},"rust-analyzer.updates.checkOnStartup":{"type":"boolean","default":true,"markdownDescription":"Auto-check rust-analyzer updates on startup"},"rust-analyzer.updates.channel":{"type":"string","default":"stable","enum":["stable","nightly"],"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","enumDescriptions":["`\"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**"]},"rust-analyzer.assist.emitMustUse":{"markdownDescription":"Whether to insert #[must_use] when generating `as_` methods\nfor enum variants.","default":false,"type":"boolean"},"rust-analyzer.assist.expressionFillDefault":{"markdownDescription":"Placeholder expression to use for missing expressions in assists.","default":"todo","type":"string","enum":["todo","default"],"enumDescriptions":["Fill missing expressions with the `todo` macro","Fill missing expressions with reasonable defaults, `new` or `default` constructors."]},"rust-analyzer.cachePriming.enable":{"markdownDescription":"Warm up caches on project load.","default":true,"type":"boolean"},"rust-analyzer.cachePriming.numThreads":{"markdownDescription":"How many worker threads to handle priming caches. The default `0` means to pick automatically.","default":0,"type":"number","minimum":0,"maximum":255},"rust-analyzer.cargo.autoreload":{"markdownDescription":"Automatically refresh project info via `cargo metadata` on\n`Cargo.toml` or `.cargo/config.toml` changes.","default":true,"type":"boolean"},"rust-analyzer.cargo.buildScripts.enable":{"markdownDescription":"Run build scripts (`build.rs`) for more precise code analysis.","default":true,"type":"boolean"},"rust-analyzer.cargo.buildScripts.invocationLocation":{"markdownDescription":"Specifies the working directory for running build scripts.\n- \"workspace\": run build scripts for a workspace in the workspace's root directory.\n  This is incompatible with `#rust-analyzer.cargo.buildScripts.invocationStrategy#` set to `once`.\n- \"root\": run build scripts in the project's root directory.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.","default":"workspace","type":"string","enum":["workspace","root"],"enumDescriptions":["The command will be executed in the corresponding workspace root.","The command will be executed in the project root."]},"rust-analyzer.cargo.buildScripts.invocationStrategy":{"markdownDescription":"Specifies the invocation strategy to use when running the build scripts command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#`\nis set.","default":"per_workspace","type":"string","enum":["per_workspace","once"],"enumDescriptions":["The command will be executed for each workspace.","The command will be executed once."]},"rust-analyzer.cargo.buildScripts.overrideCommand":{"markdownDescription":"Override the command rust-analyzer uses to run build scripts and\nbuild procedural macros. The command is required to output json\nand should therefore include `--message-format=json` or a similar\noption.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.cargo.buildScripts.invocationStrategy#` and\n`#rust-analyzer.cargo.buildScripts.invocationLocation#`.\n\nBy default, a cargo invocation will be constructed for the configured\ntargets and features, with the following base command line:\n\n```bash\ncargo check --quiet --workspace --message-format=json --all-targets\n```\n.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.cargo.buildScripts.useRustcWrapper":{"markdownDescription":"Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to\navoid checking unnecessary things.","default":true,"type":"boolean"},"rust-analyzer.cargo.cfgs":{"markdownDescription":"List of cfg options to enable with the given values.","default":{},"type":"object"},"rust-analyzer.cargo.extraArgs":{"markdownDescription":"Extra arguments that are passed to every cargo invocation.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.cargo.extraEnv":{"markdownDescription":"Extra environment variables that will be set when running cargo, rustc\nor other commands within the workspace. Useful for setting RUSTFLAGS.","default":{},"type":"object"},"rust-analyzer.cargo.features":{"markdownDescription":"List of features to activate.\n\nSet this to `\"all\"` to pass `--all-features` to cargo.","default":[],"anyOf":[{"type":"string","enum":["all"],"enumDescriptions":["Pass `--all-features` to cargo"]},{"type":"array","items":{"type":"string"}}]},"rust-analyzer.cargo.noDefaultFeatures":{"markdownDescription":"Whether to pass `--no-default-features` to cargo.","default":false,"type":"boolean"},"rust-analyzer.cargo.sysroot":{"markdownDescription":"Relative path to the sysroot, or \"discover\" to try to automatically find it via\n\"rustc --print sysroot\".\n\nUnsetting this disables sysroot loading.\n\nThis option does not take effect until rust-analyzer is restarted.","default":"discover","type":["null","string"]},"rust-analyzer.cargo.sysrootSrc":{"markdownDescription":"Relative path to the sysroot library sources. If left unset, this will default to\n`{cargo.sysroot}/lib/rustlib/src/rust/library`.\n\nThis option does not take effect until rust-analyzer is restarted.","default":null,"type":["null","string"]},"rust-analyzer.cargo.target":{"markdownDescription":"Compilation target override (target triple).","default":null,"type":["null","string"]},"rust-analyzer.cargo.unsetTest":{"markdownDescription":"Unsets the implicit `#[cfg(test)]` for the specified crates.","default":["core"],"type":"array","items":{"type":"string"}},"rust-analyzer.checkOnSave":{"markdownDescription":"Run the check command for diagnostics on save.","default":true,"type":"boolean"},"rust-analyzer.check.allTargets":{"markdownDescription":"Check all targets and tests (`--all-targets`).","default":true,"type":"boolean"},"rust-analyzer.check.command":{"markdownDescription":"Cargo command to use for `cargo check`.","default":"check","type":"string"},"rust-analyzer.check.extraArgs":{"markdownDescription":"Extra arguments for `cargo check`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.check.extraEnv":{"markdownDescription":"Extra environment variables that will be set when running `cargo check`.\nExtends `#rust-analyzer.cargo.extraEnv#`.","default":{},"type":"object"},"rust-analyzer.check.features":{"markdownDescription":"List of features to activate. Defaults to\n`#rust-analyzer.cargo.features#`.\n\nSet to `\"all\"` to pass `--all-features` to Cargo.","default":null,"anyOf":[{"type":"string","enum":["all"],"enumDescriptions":["Pass `--all-features` to cargo"]},{"type":"array","items":{"type":"string"}},{"type":"null"}]},"rust-analyzer.check.ignore":{"markdownDescription":"List of `cargo check` (or other command specified in `check.command`) diagnostics to ignore.\n\nFor example for `cargo check`: `dead_code`, `unused_imports`, `unused_variables`,...","default":[],"type":"array","items":{"type":"string"},"uniqueItems":true},"rust-analyzer.check.invocationLocation":{"markdownDescription":"Specifies the working directory for running checks.\n- \"workspace\": run checks for workspaces in the corresponding workspaces' root directories.\n  This falls back to \"root\" if `#rust-analyzer.cargo.check.invocationStrategy#` is set to `once`.\n- \"root\": run checks in the project's root directory.\nThis config only has an effect when `#rust-analyzer.cargo.check.overrideCommand#`\nis set.","default":"workspace","type":"string","enum":["workspace","root"],"enumDescriptions":["The command will be executed in the corresponding workspace root.","The command will be executed in the project root."]},"rust-analyzer.check.invocationStrategy":{"markdownDescription":"Specifies the invocation strategy to use when running the check command.\nIf `per_workspace` is set, the command will be executed for each workspace.\nIf `once` is set, the command will be executed once.\nThis config only has an effect when `#rust-analyzer.cargo.check.overrideCommand#`\nis set.","default":"per_workspace","type":"string","enum":["per_workspace","once"],"enumDescriptions":["The command will be executed for each workspace.","The command will be executed once."]},"rust-analyzer.check.noDefaultFeatures":{"markdownDescription":"Whether to pass `--no-default-features` to Cargo. Defaults to\n`#rust-analyzer.cargo.noDefaultFeatures#`.","default":null,"type":["null","boolean"]},"rust-analyzer.check.overrideCommand":{"markdownDescription":"Override the command rust-analyzer uses instead of `cargo check` for\ndiagnostics on save. The command is required to output json and\nshould therefore include `--message-format=json` or a similar option\n(if your client supports the `colorDiagnosticOutput` experimental\ncapability, you can use `--message-format=json-diagnostic-rendered-ansi`).\n\nIf you're changing this because you're using some tool wrapping\nCargo, you might also want to change\n`#rust-analyzer.cargo.buildScripts.overrideCommand#`.\n\nIf there are multiple linked projects/workspaces, this command is invoked for\neach of them, with the working directory being the workspace root\n(i.e., the folder containing the `Cargo.toml`). This can be overwritten\nby changing `#rust-analyzer.cargo.check.invocationStrategy#` and\n`#rust-analyzer.cargo.check.invocationLocation#`.\n\nAn example command would be:\n\n```bash\ncargo check --workspace --message-format=json --all-targets\n```\n.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.check.targets":{"markdownDescription":"Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty.\n\nCan be a single target, e.g. `\"x86_64-unknown-linux-gnu\"` or a list of targets, e.g.\n`[\"aarch64-apple-darwin\", \"x86_64-apple-darwin\"]`.\n\nAliased as `\"checkOnSave.targets\"`.","default":null,"anyOf":[{"type":"null"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"rust-analyzer.completion.autoimport.enable":{"markdownDescription":"Toggles the additional completions that automatically add imports when completed.\nNote that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.","default":true,"type":"boolean"},"rust-analyzer.completion.autoself.enable":{"markdownDescription":"Toggles the additional completions that automatically show method calls and field accesses\nwith `self` prefixed to them when inside a method.","default":true,"type":"boolean"},"rust-analyzer.completion.callable.snippets":{"markdownDescription":"Whether to add parenthesis and argument snippets when completing function.","default":"fill_arguments","type":"string","enum":["fill_arguments","add_parentheses","none"],"enumDescriptions":["Add call parentheses and pre-fill arguments.","Add call parentheses.","Do no snippet completions for callables."]},"rust-analyzer.completion.fullFunctionSignatures.enable":{"markdownDescription":"Whether to show full function/method signatures in completion docs.","default":false,"type":"boolean"},"rust-analyzer.completion.limit":{"markdownDescription":"Maximum number of completions to return. If `None`, the limit is infinite.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.completion.postfix.enable":{"markdownDescription":"Whether to show postfix snippets like `dbg`, `if`, `not`, etc.","default":true,"type":"boolean"},"rust-analyzer.completion.privateEditable.enable":{"markdownDescription":"Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.","default":false,"type":"boolean"},"rust-analyzer.completion.snippets.custom":{"markdownDescription":"Custom completion snippets.","default":{"Arc::new":{"postfix":"arc","body":"Arc::new(${receiver})","requires":"std::sync::Arc","description":"Put the expression into an `Arc`","scope":"expr"},"Rc::new":{"postfix":"rc","body":"Rc::new(${receiver})","requires":"std::rc::Rc","description":"Put the expression into an `Rc`","scope":"expr"},"Box::pin":{"postfix":"pinbox","body":"Box::pin(${receiver})","requires":"std::boxed::Box","description":"Put the expression into a pinned `Box`","scope":"expr"},"Ok":{"postfix":"ok","body":"Ok(${receiver})","description":"Wrap the expression in a `Result::Ok`","scope":"expr"},"Err":{"postfix":"err","body":"Err(${receiver})","description":"Wrap the expression in a `Result::Err`","scope":"expr"},"Some":{"postfix":"some","body":"Some(${receiver})","description":"Wrap the expression in an `Option::Some`","scope":"expr"}},"type":"object"},"rust-analyzer.diagnostics.disabled":{"markdownDescription":"List of rust-analyzer diagnostics to disable.","default":[],"type":"array","items":{"type":"string"},"uniqueItems":true},"rust-analyzer.diagnostics.enable":{"markdownDescription":"Whether to show native rust-analyzer diagnostics.","default":true,"type":"boolean"},"rust-analyzer.diagnostics.experimental.enable":{"markdownDescription":"Whether to show experimental rust-analyzer diagnostics that might\nhave more false positives than usual.","default":false,"type":"boolean"},"rust-analyzer.diagnostics.remapPrefix":{"markdownDescription":"Map of prefixes to be substituted when parsing diagnostic file paths.\nThis should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.","default":{},"type":"object"},"rust-analyzer.diagnostics.warningsAsHint":{"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\nand will not show up in the `Problems Panel`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.diagnostics.warningsAsInfo":{"markdownDescription":"List of warnings that should be displayed with info severity.\n\nThe warnings will be indicated by a blue squiggly underline in code\nand a blue icon in the `Problems Panel`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.files.excludeDirs":{"markdownDescription":"These directories will be ignored by rust-analyzer. They are\nrelative to the workspace root, and globs are not supported. You may\nalso need to add the folders to Code's `files.watcherExclude`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.files.watcher":{"markdownDescription":"Controls file watching implementation.","default":"client","type":"string","enum":["client","server"],"enumDescriptions":["Use the client (editor) to watch files for changes","Use server-side file watching"]},"rust-analyzer.highlightRelated.breakPoints.enable":{"markdownDescription":"Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.closureCaptures.enable":{"markdownDescription":"Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.exitPoints.enable":{"markdownDescription":"Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`).","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.references.enable":{"markdownDescription":"Enables highlighting of related references while the cursor is on any identifier.","default":true,"type":"boolean"},"rust-analyzer.highlightRelated.yieldPoints.enable":{"markdownDescription":"Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords.","default":true,"type":"boolean"},"rust-analyzer.hover.documentation.enable":{"markdownDescription":"Whether to show documentation on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.documentation.keywords.enable":{"markdownDescription":"Whether to show keyword hover popups. Only applies when\n`#rust-analyzer.hover.documentation.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.hover.links.enable":{"markdownDescription":"Use markdown syntax for links on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.memoryLayout.alignment":{"markdownDescription":"How to render the align information in a memory layout hover.","default":"hexadecimal","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"rust-analyzer.hover.memoryLayout.enable":{"markdownDescription":"Whether to show memory layout data on hover.","default":true,"type":"boolean"},"rust-analyzer.hover.memoryLayout.niches":{"markdownDescription":"How to render the niche information in a memory layout hover.","default":false,"type":["null","boolean"]},"rust-analyzer.hover.memoryLayout.offset":{"markdownDescription":"How to render the offset information in a memory layout hover.","default":"hexadecimal","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"rust-analyzer.hover.memoryLayout.size":{"markdownDescription":"How to render the size information in a memory layout hover.","default":"both","anyOf":[{"type":"null"},{"type":"string","enum":["both","decimal","hexadecimal"],"enumDescriptions":["Render as 12 (0xC)","Render as 12","Render as 0xC"]}]},"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.","default":false,"type":"boolean"},"rust-analyzer.imports.granularity.group":{"markdownDescription":"How imports should be grouped into use statements.","default":"crate","type":"string","enum":["preserve","crate","module","item"],"enumDescriptions":["Do not change the granularity of any imports and preserve the original structure written by the developer.","Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.","Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.","Flatten imports so that each has its own use statement."]},"rust-analyzer.imports.group.enable":{"markdownDescription":"Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.","default":true,"type":"boolean"},"rust-analyzer.imports.merge.glob":{"markdownDescription":"Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.","default":true,"type":"boolean"},"rust-analyzer.imports.preferNoStd":{"markdownDescription":"Prefer to unconditionally use imports of the core and alloc crate, over the std crate.","default":false,"type":"boolean"},"rust-analyzer.imports.preferPrelude":{"markdownDescription":"Whether to prefer import paths containing a `prelude` module.","default":false,"type":"boolean"},"rust-analyzer.imports.prefix":{"markdownDescription":"The path structure for newly inserted paths to use.","default":"plain","type":"string","enum":["plain","self","crate"],"enumDescriptions":["Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item.","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.","Force import paths to be absolute by always starting them with `crate` or the extern crate name they come from."]},"rust-analyzer.inlayHints.bindingModeHints.enable":{"markdownDescription":"Whether to show inlay type hints for binding modes.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.chainingHints.enable":{"markdownDescription":"Whether to show inlay type hints for method chains.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.closingBraceHints.enable":{"markdownDescription":"Whether to show inlay hints after a closing `}` to indicate what item it belongs to.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.closingBraceHints.minLines":{"markdownDescription":"Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1\nto always show them).","default":25,"type":"integer","minimum":0},"rust-analyzer.inlayHints.closureCaptureHints.enable":{"markdownDescription":"Whether to show inlay hints for closure captures.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.closureReturnTypeHints.enable":{"markdownDescription":"Whether to show inlay type hints for return types of closures.","default":"never","type":"string","enum":["always","never","with_block"],"enumDescriptions":["Always show type hints for return types of closures.","Never show type hints for return types of closures.","Only show type hints for return types of closures with blocks."]},"rust-analyzer.inlayHints.closureStyle":{"markdownDescription":"Closure notation in type and chaining inlay hints.","default":"impl_fn","type":"string","enum":["impl_fn","rust_analyzer","with_id","hide"],"enumDescriptions":["`impl_fn`: `impl FnMut(i32, u64) -> i8`","`rust_analyzer`: `|i32, u64| -> i8`","`with_id`: `{closure#14352}`, where that id is the unique number of the closure in r-a internals","`hide`: Shows `...` for every closure type"]},"rust-analyzer.inlayHints.discriminantHints.enable":{"markdownDescription":"Whether to show enum variant discriminant hints.","default":"never","type":"string","enum":["always","never","fieldless"],"enumDescriptions":["Always show all discriminant hints.","Never show discriminant hints.","Only show discriminant hints on fieldless enum variants."]},"rust-analyzer.inlayHints.expressionAdjustmentHints.enable":{"markdownDescription":"Whether to show inlay hints for type adjustments.","default":"never","type":"string","enum":["always","never","reborrow"],"enumDescriptions":["Always show all adjustment hints.","Never show adjustment hints.","Only show auto borrow and dereference adjustment hints."]},"rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe":{"markdownDescription":"Whether to hide inlay hints for type adjustments outside of `unsafe` blocks.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.expressionAdjustmentHints.mode":{"markdownDescription":"Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc).","default":"prefix","type":"string","enum":["prefix","postfix","prefer_prefix","prefer_postfix"],"enumDescriptions":["Always show adjustment hints as prefix (`*expr`).","Always show adjustment hints as postfix (`expr.*`).","Show prefix or postfix depending on which uses less parenthesis, preferring prefix.","Show prefix or postfix depending on which uses less parenthesis, preferring postfix."]},"rust-analyzer.inlayHints.implicitDrops.enable":{"markdownDescription":"Whether to show implicit drop hints.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.lifetimeElisionHints.enable":{"markdownDescription":"Whether to show inlay type hints for elided lifetimes in function signatures.","default":"never","type":"string","enum":["always","never","skip_trivial"],"enumDescriptions":["Always show lifetime elision hints.","Never show lifetime elision hints.","Only show lifetime elision hints if a return type is involved."]},"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames":{"markdownDescription":"Whether to prefer using parameter names as the name for elided lifetime hints if possible.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.maxLength":{"markdownDescription":"Maximum length for inlay hints. Set to null to have an unlimited length.","default":25,"type":["null","integer"],"minimum":0},"rust-analyzer.inlayHints.parameterHints.enable":{"markdownDescription":"Whether to show function parameter name inlay hints at the call\nsite.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.reborrowHints.enable":{"markdownDescription":"Whether to show inlay hints for compiler inserted reborrows.\nThis setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.","default":"never","type":"string","enum":["always","never","mutable"],"enumDescriptions":["Always show reborrow hints.","Never show reborrow hints.","Only show mutable reborrow hints."]},"rust-analyzer.inlayHints.renderColons":{"markdownDescription":"Whether to render leading colons for type hints, and trailing colons for parameter hints.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.enable":{"markdownDescription":"Whether to show inlay type hints for variables.","default":true,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.hideClosureInitialization":{"markdownDescription":"Whether to hide inlay type hints for `let` statements that initialize to a closure.\nOnly applies to closures with blocks, same as `#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`.","default":false,"type":"boolean"},"rust-analyzer.inlayHints.typeHints.hideNamedConstructor":{"markdownDescription":"Whether to hide inlay type hints for constructors.","default":false,"type":"boolean"},"rust-analyzer.interpret.tests":{"markdownDescription":"Enables the experimental support for interpreting tests.","default":false,"type":"boolean"},"rust-analyzer.joinLines.joinAssignments":{"markdownDescription":"Join lines merges consecutive declaration and initialization of an assignment.","default":true,"type":"boolean"},"rust-analyzer.joinLines.joinElseIf":{"markdownDescription":"Join lines inserts else between consecutive ifs.","default":true,"type":"boolean"},"rust-analyzer.joinLines.removeTrailingComma":{"markdownDescription":"Join lines removes trailing commas.","default":true,"type":"boolean"},"rust-analyzer.joinLines.unwrapTrivialBlock":{"markdownDescription":"Join lines unwraps trivial blocks.","default":true,"type":"boolean"},"rust-analyzer.lens.debug.enable":{"markdownDescription":"Whether to show `Debug` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.lens.enable":{"markdownDescription":"Whether to show CodeLens in Rust files.","default":true,"type":"boolean"},"rust-analyzer.lens.forceCustomCommands":{"markdownDescription":"Internal config: use custom client-side commands even when the\nclient doesn't set the corresponding capability.","default":true,"type":"boolean"},"rust-analyzer.lens.implementations.enable":{"markdownDescription":"Whether to show `Implementations` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.lens.location":{"markdownDescription":"Where to render annotations.","default":"above_name","type":"string","enum":["above_name","above_whole_item"],"enumDescriptions":["Render annotations above the name of the item.","Render annotations above the whole item, including documentation comments and attributes."]},"rust-analyzer.lens.references.adt.enable":{"markdownDescription":"Whether to show `References` lens for Struct, Enum, and Union.\nOnly applies when `#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"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"},"rust-analyzer.lens.references.method.enable":{"markdownDescription":"Whether to show `Method References` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"rust-analyzer.lens.references.trait.enable":{"markdownDescription":"Whether to show `References` lens for Trait.\nOnly applies when `#rust-analyzer.lens.enable#` is set.","default":false,"type":"boolean"},"rust-analyzer.lens.run.enable":{"markdownDescription":"Whether to show `Run` lens. Only applies when\n`#rust-analyzer.lens.enable#` is set.","default":true,"type":"boolean"},"rust-analyzer.linkedProjects":{"markdownDescription":"Disable project auto-discovery in favor of explicitly specified set\nof projects.\n\nElements must be paths pointing to `Cargo.toml`,\n`rust-project.json`, or JSON objects in `rust-project.json` format.","default":[],"type":"array","items":{"type":["string","object"]}},"rust-analyzer.lru.capacity":{"markdownDescription":"Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.lru.query.capacities":{"markdownDescription":"Sets the LRU capacity of the specified queries.","default":{},"type":"object"},"rust-analyzer.notifications.cargoTomlNotFound":{"markdownDescription":"Whether to show `can't find Cargo.toml` error message.","default":true,"type":"boolean"},"rust-analyzer.numThreads":{"markdownDescription":"How many worker threads in the main loop. The default `null` means to pick automatically.","default":null,"type":["null","integer"],"minimum":0},"rust-analyzer.procMacro.attributes.enable":{"markdownDescription":"Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set.","default":true,"type":"boolean"},"rust-analyzer.procMacro.enable":{"markdownDescription":"Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`.","default":true,"type":"boolean"},"rust-analyzer.procMacro.ignored":{"markdownDescription":"These proc-macros will be ignored when trying to expand them.\n\nThis config takes a map of crate names with the exported proc-macro names to ignore as values.","default":{},"type":"object"},"rust-analyzer.procMacro.server":{"markdownDescription":"Internal config, path to proc-macro server executable.","default":null,"type":["null","string"]},"rust-analyzer.references.excludeImports":{"markdownDescription":"Exclude imports from find-all-references.","default":false,"type":"boolean"},"rust-analyzer.runnables.command":{"markdownDescription":"Command to be executed instead of 'cargo' for runnables.","default":null,"type":["null","string"]},"rust-analyzer.runnables.extraArgs":{"markdownDescription":"Additional arguments to be passed to cargo for runnables such as\ntests or binaries. For example, it may be `--release`.","default":[],"type":"array","items":{"type":"string"}},"rust-analyzer.rust.analyzerTargetDir":{"markdownDescription":"Optional path to a rust-analyzer specific target directory.\nThis prevents rust-analyzer's `cargo check` from locking the `Cargo.lock`\nat the expense of duplicating build artifacts.\n\nSet to `true` to use a subdirectory of the existing target directory or\nset to a path relative to the workspace to use that path.","default":null,"anyOf":[{"type":"null"},{"type":"boolean"},{"type":"string"}]},"rust-analyzer.rustc.source":{"markdownDescription":"Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private\nprojects, or \"discover\" to try to automatically find it if the `rustc-dev` component\nis installed.\n\nAny project which uses rust-analyzer with the rustcPrivate\ncrates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it.\n\nThis option does not take effect until rust-analyzer is restarted.","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\nformatting. This should be the equivalent of `rustfmt` here, and\nnot that of `cargo fmt`. The file contents will be passed on the\nstandard input and the formatted result will be read from the\nstandard output.","default":null,"type":["null","array"],"items":{"type":"string"}},"rust-analyzer.rustfmt.rangeFormatting.enable":{"markdownDescription":"Enables the use of rustfmt's unstable range formatting command for the\n`textDocument/rangeFormatting` request. The rustfmt option is unstable and only\navailable on a nightly build.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.doc.comment.inject.enable":{"markdownDescription":"Inject additional highlighting into doc comments.\n\nWhen enabled, rust-analyzer will highlight rust source in doc comments as well as intra\ndoc links.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.nonStandardTokens":{"markdownDescription":"Whether the server is allowed to emit non-standard tokens and modifiers.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.operator.enable":{"markdownDescription":"Use semantic tokens for operators.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for operator tokens when\nthey are tagged with modifiers.","default":true,"type":"boolean"},"rust-analyzer.semanticHighlighting.operator.specialization.enable":{"markdownDescription":"Use specialized semantic tokens for operators.\n\nWhen enabled, rust-analyzer will emit special token types for operator tokens instead\nof the generic `operator` token type.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.enable":{"markdownDescription":"Use semantic tokens for punctuation.\n\nWhen disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when\nthey are tagged with modifiers or have a special role.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang":{"markdownDescription":"When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro\ncalls.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.punctuation.specialization.enable":{"markdownDescription":"Use specialized semantic tokens for punctuation.\n\nWhen enabled, rust-analyzer will emit special token types for punctuation tokens instead\nof the generic `punctuation` token type.","default":false,"type":"boolean"},"rust-analyzer.semanticHighlighting.strings.enable":{"markdownDescription":"Use semantic tokens for strings.\n\nIn some editors (e.g. vscode) semantic tokens override other highlighting grammars.\nBy disabling semantic tokens for strings, other grammars can be used to highlight\ntheir contents.","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.typing.autoClosingAngleBrackets.enable":{"markdownDescription":"Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list.","default":false,"type":"boolean"},"rust-analyzer.workspace.symbol.search.kind":{"markdownDescription":"Workspace symbol search kind.","default":"only_types","type":"string","enum":["only_types","all_symbols"],"enumDescriptions":["Search for types only.","Search for all symbols kinds."]},"rust-analyzer.workspace.symbol.search.limit":{"markdownDescription":"Limits the number of items returned from a workspace symbol search (Defaults to 128).\nSome clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search.\nOther clients requires all results upfront and might require a higher limit.","default":128,"type":"integer","minimum":0},"rust-analyzer.workspace.symbol.search.scope":{"markdownDescription":"Workspace symbol search scope.","default":"workspace","type":"string","enum":["workspace","workspace_and_dependencies"],"enumDescriptions":["Search in current workspace only.","Search in current workspace and dependencies."]}}},"commands":[{"command":"rust-analyzer.analyzerStatus","title":"Status","category":"rust-analyzer"},{"command":"rust-analyzer.memoryUsage","title":"Memory Usage (Clears Database)","category":"rust-analyzer"},{"command":"rust-analyzer.reloadWorkspace","title":"Reload workspace","category":"rust-analyzer"},{"command":"rust-analyzer.joinLines","title":"Join lines","category":"rust-analyzer"},{"command":"rust-analyzer.matchingBrace","title":"Find matching brace","category":"rust-analyzer"},{"command":"rust-analyzer.openDocs","title":"Open docs under cursor","category":"rust-analyzer"},{"command":"rust-analyzer.openCargoToml","title":"Open Cargo.toml","category":"rust-analyzer"},{"command":"rust-analyzer.parentModule","title":"Locate parent module","category":"rust-analyzer"},{"command":"rust-analyzer.reload","title":"Restart server","category":"rust-analyzer"},{"command":"rust-analyzer.run","title":"Run","category":"rust-analyzer"},{"command":"rust-analyzer.debug","title":"Debug","category":"rust-analyzer"},{"command":"rust-analyzer.ssr","title":"Structural Search Replace","category":"rust-analyzer"},{"command":"rust-analyzer.serverVersion","title":"Show current Rust Analyzer server version","category":"rust-analyzer"},{"command":"rust-analyzer.syntaxTree","title":"Show Syntax Tree","category":"rust-analyzer"},{"command":"rust-analyzer.testCurrent","title":"Test Current","category":"rust-analyzer"},{"command":"rust-analyzer.upgrade","title":"Upgrade Rust Analyzer from GitHub release","category":"rust-analyzer"},{"command":"rust-analyzer.expandMacro","title":"Expand macro recursively at caret","category":"rust-analyzer"},{"command":"rust-analyzer.viewHir","title":"View Hir","category":"rust-analyzer"},{"command":"rust-analyzer.viewMir","title":"View Mir","category":"rust-analyzer"},{"command":"rust-analyzer.viewFileText","title":"View File Text (as seen by the server)","category":"rust-analyzer"},{"command":"rust-analyzer.viewItemTree","title":"Debug ItemTree","category":"rust-analyzer"},{"command":"rust-analyzer.viewCrateGraph","title":"View Crate Graph","category":"rust-analyzer"},{"command":"rust-analyzer.shuffleCrateGraph","title":"Shuffle Crate Graph","category":"rust-analyzer"},{"command":"rust-analyzer.viewFullCrateGraph","title":"View Crate Graph (Full)","category":"rust-analyzer"},{"command":"rust-analyzer.echoRunCommandLine","title":"Echo Run Command Line","category":"rust-analyzer"},{"command":"rust-analyzer.peekTests","title":"Peek related tests","category":"rust-analyzer"},{"command":"rust-analyzer.moveItemUp","title":"Move item up","category":"rust-analyzer"},{"command":"rust-analyzer.moveItemDown","title":"Move item down","category":"rust-analyzer"},{"command":"rust-analyzer.runFlycheck","title":"Run flycheck","category":"rust-analyzer"},{"command":"rust-analyzer.cancelFlycheck","title":"Cancel running flychecks","category":"rust-analyzer"},{"command":"rust-analyzer.clearFlycheck","title":"Clear flycheck diagnostics","category":"rust-analyzer"},{"command":"rust-analyzer.rebuildProcMacros","title":"Rebuild proc macros and build scripts","category":"rust-analyzer"},{"command":"rust-analyzer.interpretFunction","title":"Interpret Function","category":"rust-analyzer"},{"command":"rust-analyzer.explainError","title":"Explain the currently hovered diagnostic","category":"rust-analyzer"}]},"gitHead":"3b5a7325159f3c74090438c0d7b0383c4201eb68","bugs":{"url":"https://github.com/fannheyward/coc-rust-analyzer/issues"},"homepage":"https://github.com/fannheyward/coc-rust-analyzer#readme","_id":"@blockchainian/coc-rust-analyzer@0.75.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-sANTzVKNXfoMMmldQND2mJX/oMMTsaQghfPfnxpbG7O1RNHRw7m43zy2sHa35OAAK7HHllFwE7ZSz0P9/R4KNA==","shasum":"f938d1797f3c1986f03875037b15644f212b49d9","tarball":"https://registry.npmjs.org/@blockchainian/coc-rust-analyzer/-/coc-rust-analyzer-0.75.1.tgz","fileCount":4,"unpackedSize":570581,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPmcWpnvDxJ6X/WGdFfYmlO+SK+IVQwj7WcCCmihTkzAiAL65RPqU4/JhoX5KeLSvRFYLReHWzBpzZRwJ+CaaRYlA=="}]},"_npmUser":{"name":"pengchengchen","email":"pengcheng.chen@gmail.com"},"directories":{},"maintainers":[{"name":"pengchengchen","email":"pengcheng.chen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/coc-rust-analyzer_0.75.1_1704354485014_0.5071853143267717"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-04T07:02:50.978Z","0.75.0":"2024-01-04T07:02:51.391Z","modified":"2024-01-04T07:48:05.433Z","0.75.1":"2024-01-04T07:48:05.238Z"},"maintainers":[{"name":"pengchengchen","email":"pengcheng.chen@gmail.com"}],"description":"rust-analyzer for Vim/Neovim, works as an extension with coc.nvim","homepage":"https://github.com/fannheyward/coc-rust-analyzer#readme","keywords":["coc.nvim"],"repository":{"type":"git","url":"git+https://github.com/fannheyward/coc-rust-analyzer.git"},"author":{"name":"Heyward Fann","email":"fannheyward@gmail.com"},"bugs":{"url":"https://github.com/fannheyward/coc-rust-analyzer/issues"},"license":"MIT","readme":"# coc-rust-analyzer\n\n<!-- markdownlint-disable no-inline-html -->\n<a href=\"https://github.com/sponsors/fannheyward\"><img src=\"https://user-images.githubusercontent.com/345274/133218454-014a4101-b36a-48c6-a1f6-342881974938.png\" alt=\"GitHub Sponsors\" /></a>\n<a href=\"https://patreon.com/fannheyward\"><img src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" alt=\"Patreon donate button\" /></a>\n<a href=\"https://paypal.me/fannheyward\"><img src=\"https://user-images.githubusercontent.com/345274/104303610-41149f00-5505-11eb-88b2-5a95c53187b4.png\" alt=\"PayPal donate button\" /></a>\n\n[rust-analyzer](https://github.com/rust-lang/rust-analyzer) for Vim/Neovim, works as an extension with coc.nvim.\n\n<!-- markdownlint-disable-next-line -->\n<img width=\"567\" alt=\"10\" src=\"https://user-images.githubusercontent.com/345274/67060118-34808a00-f18e-11e9-9d76-22fff11b5802.png\">\n\n## Install\n\n`:CocInstall coc-rust-analyzer`\n\n> remove `rust-analyzer` config from `coc-settings.json` if you've set\n>  \n> **NOTE**: For Apple Silicon users, you shouldn't use Node.js v15, checkout [#975](https://github.com/fannheyward/coc-rust-analyzer/issues/975) for more.\n\n## Notes\n\nIt's recommended to add `$CARGO_HOME` to `workspace.ignoredFolders` to stop rust-analyzer runs `cargo check` on sysroot crates:\n\n```json\n\"workspace.ignoredFolders\": [\n  \"$HOME\",\n  \"$HOME/.cargo/**\",\n  \"$HOME/.rustup/**\"\n],\n```\n\n## Configurations\n\nThis extension is configured using a jsonc file. You can open this configuration file using the command `:CocConfig`, and it is typically located at `$HOME/.config/nvim/coc-settings.json`.\n\n| Configuration | Description | Default |\n|---|---|---|\n| `rust-analyzer.enable` | Enable `coc-rust-analyzer` | `true` |\n| `rust-analyzer.assist.emitMustUse` | Whether to insert #[must_use] when generating `as_` methods for enum variants. | `false` |\n| `rust-analyzer.assist.expressionFillDefault` | Placeholder expression to use for missing expressions in assists. | `todo` |\n| `rust-analyzer.cachePriming.enable` | Warm up caches on project load. | `true` |\n| `rust-analyzer.cachePriming.numThreads` | How many worker threads to handle priming caches. The default `0` means to pick automatically. | `0` |\n| `rust-analyzer.cargo.autoreload` | Automatically refresh project info via `cargo metadata` on `Cargo.toml` or `.cargo/config.toml` changes. | `true` |\n| `rust-analyzer.cargo.buildScripts.enable` | Run build scripts (`build.rs`) for more precise code analysis. | `true` |\n| `rust-analyzer.cargo.buildScripts.invocationLocation` | Specifies the working directory for running build scripts. | `workspace` |\n| `rust-analyzer.cargo.buildScripts.invocationStrategy` | Specifies the invocation strategy to use when running the build scripts command. | `null` |\n| `rust-analyzer.cargo.buildScripts.useRustcWrapper` | Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to avoid checking unnecessary things. | `true` |\n| `rust-analyzer.cargo.extraEnv` | Extra environment variables that will be set when running cargo, rustc or other commands within the workspace. Useful for setting RUSTFLAGS. | `null` |\n| `rust-analyzer.cargo.features` | List of features to activate. Set this to `\"all\"` to pass `--all-features` to cargo. | `` |\n| `rust-analyzer.cargo.noDefaultFeatures` | Whether to pass `--no-default-features` to cargo. | `false` |\n| `rust-analyzer.cargo.sysroot` | Relative path to the sysroot, or \"discover\" to try to automatically find it via \"rustc --print sysroot\". | `discover` |\n| `rust-analyzer.cargo.sysrootSrc` | Relative path to the sysroot library sources. If left unset, this will default to `{cargo.sysroot}/lib/rustlib/src/rust/library`. | `null` |\n| `rust-analyzer.cargo.target` | Compilation target override (target triple). | `null` |\n| `rust-analyzer.cargo.unsetTest` | Unsets `#[cfg(test)]` for the specified crates. | `core` |\n| `rust-analyzer.check.allTargets` | Check all targets and tests (`--all-targets`). | `true` |\n| `rust-analyzer.check.command` | Cargo command to use for `cargo check`. | `check` |\n| `rust-analyzer.check.extraArgs` | Extra arguments for `cargo check`. | `[]` |\n| `rust-analyzer.check.extraEnv` | Extra environment variables that will be set when running `cargo check`. Extends `#rust-analyzer.cargo.extraEnv#`. | `{}` |\n| `rust-analyzer.check.features` | List of features to activate. Defaults to `#rust-analyzer.cargo.features#`. Set to `\"all\"` to pass `--all-features` to Cargo. | `null` |\n| `rust-analyzer.check.invocationLocation` | Specifies the working directory for running checks. | `workspace` |\n| `rust-analyzer.check.invocationStrategy` | Specifies the invocation strategy to use when running the checkOnSave command. | `per_workspace` |\n| `rust-analyzer.check.noDefaultFeatures` | Whether to pass `--no-default-features` to Cargo. Defaults to `#rust-analyzer.cargo.noDefaultFeatures#`. | `null` |\n| `rust-analyzer.check.overrideCommand` | Override the command rust-analyzer uses instead of `cargo check` for diagnostics on save. | `null` |\n| `rust-analyzer.check.targets` | Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty. | `null` |\n| `rust-analyzer.checkOnSave` | Run the check command for diagnostics on save. | `true` |\n| `rust-analyzer.completion.autoimport.enable` | Toggles the additional completions that automatically add imports when completed | `true` |\n| `rust-analyzer.completion.autoself.enable` | Toggles the additional completions that automatically show method calls and field accesses with `self` prefixed to them when inside a method. | `true` |\n| `rust-analyzer.completion.callable.snippets` | Whether to add parenthesis and argument snippets when completing function. | `fill_arguments` |\n| `rust-analyzer.completion.limit` | Maximum number of completions to return. If `None`, the limit is infinite. | `null` |\n| `rust-analyzer.completion.postfix.enable` | Whether to show postfix snippets like `dbg`, `if`, `not`, etc. | `true` |\n| `rust-analyzer.completion.privateEditable.enable` | Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position. | `false` |\n| `rust-analyzer.completion.snippets.custom` | Custom completion snippets. | |\n| `rust-analyzer.debug.runtime` | Choose which debug runtime to use | `termdebug` |\n| `rust-analyzer.debug.vimspector.configuration.name` | Specify the name of the vimspector configuration name. The following args will be passed to the configuration: `Executable` and `Args` (both strings) | `launch` |\n| `rust-analyzer.debug.nvimdap.configuration.template` | Configuration template used to invoked dap.run([conf](https://github.com/mfussenegger/nvim-dap/blob/0e6b7c47dd70e80793ed39271b2aa712d9366dbc/doc/dap.txt#L656C2-L656C2)). The template will be instantiate like thie: `$exe` will be replaced with executable path, `$args` will be replaced with arguments. An example template: `{ name = \\\"Debug (with args)\\\", type = \\\"codelldb\\\", request = \\\"launch\\\", program = $exe, args = $args, cwd = \\\"${workspaceFolder}\\\", stopOnEntry = false, terminal = \\\"integrated\\\" }` | `\"\"`|\n| `rust-analyzer.diagnostics.disabled` | List of rust-analyzer diagnostics to disable. | `` |\n| `rust-analyzer.diagnostics.enable` | Whether to show native rust-analyzer diagnostics. | `true` |\n| `rust-analyzer.diagnostics.experimental.enable` | Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual. | `false` |\n| `rust-analyzer.diagnostics.remapPrefix` | 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`. | `{}` |\n| `rust-analyzer.diagnostics.warningsAsHint` | List of warnings that should be displayed with hint severity. | `` |\n| `rust-analyzer.diagnostics.warningsAsInfo` | List of warnings that should be displayed with info severity. | `` |\n| `rust-analyzer.disableProgressNotifications` | Disable initialization and workdone progress notifications | `false` |\n| `rust-analyzer.files.excludeDirs` | These directories will be ignored by rust-analyzer. | `` |\n| `rust-analyzer.files.watcher` | Controls file watching implementation. | `client` |\n| `rust-analyzer.highlightRelated.breakPoints.enable` | Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords. | `true` |\n| `rust-analyzer.highlightRelated.exitPoints.enable` | Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`). | `true` |\n| `rust-analyzer.highlightRelated.references.enable` | Enables highlighting of related references while the cursor is on any identifier. | `true` |\n| `rust-analyzer.highlightRelated.yieldPoints.enable` | Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords. | `true` |\n| `rust-analyzer.hover.documentation.enable` | Whether to show documentation on hover. | `true` |\n| `rust-analyzer.hover.documentation.keywords.enable` | Whether to show keyword hover popups. Only applies when `#rust-analyzer.hover.documentation.enable#` is set. | `true` |\n| `rust-analyzer.hover.links.enable` | Use markdown syntax for links in hover. | `true` |\n| `rust-analyzer.imports.granularity.enforce` | 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. | `false` |\n| `rust-analyzer.imports.granularity.group` | How imports should be grouped into use statements. | `crate` |\n| `rust-analyzer.imports.group.enable` | Group inserted imports by the <https://rust-analyzer.github.io/manual.html#auto-import[following> order]. Groups are separated by newlines. | `true` |\n| `rust-analyzer.imports.merge.glob` | Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`. | `true` |\n| `rust-analyzer.imports.prefer.no.std` | Prefer to unconditionally use imports of the core and alloc crate, over the std crate. | `false` |\n| `rust-analyzer.imports.prefix` | The path structure for newly inserted paths to use. | `plain` |\n| `rust-analyzer.inlayHints.bindingModeHints.enable` | Whether to show inlay type hints for binding modes. | `false` |\n| `rust-analyzer.inlayHints.chainingHints.enable` | Whether to show inlay type hints for method chains. | `true` |\n| `rust-analyzer.inlayHints.closingBraceHints.enable` | Whether to show inlay hints after a closing `}` to indicate what item it belongs to. | `true` |\n| `rust-analyzer.inlayHints.closingBraceHints.minLines` | Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1 to always show them). | `25` |\n| `rust-analyzer.inlayHints.closureReturnTypeHints.enable` | Whether to show inlay type hints for return types of closures. | `never` |\n| `rust-analyzer.inlayHints.discriminantHints.enable` | Whether to show enum variant discriminant hints. | `never` |\n| `rust-analyzer.inlayHints.expressionAdjustmentHints.enable` | Whether to show inlay hints for type adjustments. | `never` |\n| `rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe` | Whether to hide inlay hints for type adjustments outside of `unsafe` blocks. | `false` |\n| `rust-analyzer.inlayHints.expressionAdjustmentHints.mode` | Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc). | `prefix` |\n| `rust-analyzer.inlayHints.lifetimeElisionHints.enable` | Whether to show inlay type hints for elided lifetimes in function signatures. | `never` |\n| `rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames` | Whether to prefer using parameter names as the name for elided lifetime hints if possible. | `false` |\n| `rust-analyzer.inlayHints.maxLength` | Maximum length for inlay hints. Set to null to have an unlimited length. | `25` |\n| `rust-analyzer.inlayHints.parameterHints.enable` | Whether to show function parameter name inlay hints at the call site. | `true` |\n| `rust-analyzer.inlayHints.reborrowHints.enable` | Whether to show inlay hints for compiler inserted reborrows. This setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#. | `never` |\n| `rust-analyzer.inlayHints.renderColons` | Whether to render leading colons for type hints, and trailing colons for parameter hints. | `true` |\n| `rust-analyzer.inlayHints.typeHints.enable` | Whether to show inlay type hints for variables. | `true` |\n| `rust-analyzer.inlayHints.typeHints.hideClosureInitialization` | Whether to 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#`. | `false` |\n| `rust-analyzer.inlayHints.typeHints.hideNamedConstructor` | Whether to hide inlay type hints for constructors. | `false` |\n| `rust-analyzer.joinLines.joinAssignments` | Join lines merges consecutive declaration and initialization of an assignment. | `true` |\n| `rust-analyzer.joinLines.joinElseIf` | Join lines inserts else between consecutive ifs. | `true` |\n| `rust-analyzer.joinLines.removeTrailingComma` | Join lines removes trailing commas. | `true` |\n| `rust-analyzer.joinLines.unwrapTrivialBlock` | Join lines unwraps trivial blocks. | `true` |\n| `rust-analyzer.lens.debug.enable` | Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set. | `true` |\n| `rust-analyzer.lens.enable` | Whether to show CodeLens in Rust files. | `true` |\n| `rust-analyzer.lens.forceCustomCommands` | Internal config: use custom client-side commands even when the client doesn't set the corresponding capability. | `true` |\n| `rust-analyzer.lens.implementations.enable` | Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set. | `true` |\n| `rust-analyzer.lens.location` | Where to render annotations. | `above_name` |\n| `rust-analyzer.lens.references.adt.enable` | Whether to show `References` lens for Struct, Enum, and Union. Only applies when `#rust-analyzer.lens.enable#` is set. | `false` |\n| `rust-analyzer.lens.references.enumVariant.enable` | Whether to show `References` lens for Enum Variants. Only applies when `#rust-analyzer.lens.enable#` is set. | `false` |\n| `rust-analyzer.lens.references.method.enable` | Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set. | `false` |\n| `rust-analyzer.lens.references.trait.enable` | Whether to show `References` lens for Trait. Only applies when `#rust-analyzer.lens.enable#` is set. | `false` |\n| `rust-analyzer.lens.run.enable` | Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set. | `true` |\n| `rust-analyzer.linkedProjects` | Disable project auto-discovery in favor of explicitly specified set of projects. | `` |\n| `rust-analyzer.lru.capacity` | Number of syntax trees rust-analyzer keeps in memory. Defaults to 128. | `null` |\n| `rust-analyzer.notifications.cargoTomlNotFound` | Whether to show `can't find Cargo.toml` error message. | `true` |\n| `rust-analyzer.numThreads` | How many worker threads in the main loop. The default `null` means to pick automatically. | `null` |\n| `rust-analyzer.procMacro.attributes.enable` | Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set. | `true` |\n| `rust-analyzer.procMacro.enable` | Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`. | `true` |\n| `rust-analyzer.procMacro.ignored` | These proc-macros will be ignored when trying to expand them. | `{}` |\n| `rust-analyzer.procMacro.server` | Internal config, path to proc-macro server executable (typically, this is rust-analyzer itself, but we override this in tests). | `null` |\n| `rust-analyzer.references.excludeImports` | Exclude imports from find-all-references. | `false` |\n| `rust-analyzer.restartServerOnConfigChange` | Whether to restart the server automatically when certain settings that require a restart are changed. | `false` |\n| `rust-analyzer.runnables.command` | Command to be executed instead of 'cargo' for runnables. | `null` |\n| `rust-analyzer.runnables.extraArgs` | Additional arguments to be passed to cargo for runnables such as tests or binaries. For example, it may be `--release`. | `` |\n| `rust-analyzer.rustc.source` | 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. | `null` |\n| `rust-analyzer.rustfmt.extraArgs` | Additional arguments to `rustfmt`. | `` |\n| `rust-analyzer.rustfmt.overrideCommand` | Advanced option, fully override the command rust-analyzer uses for formatting. | `null` |\n| `rust-analyzer.rustfmt.rangeFormatting.enable` | 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. | `false` |\n| `rust-analyzer.semanticHighlighting.doc.comment.inject.enable` | Inject additional highlighting into doc comments. | `true` |\n| `rust-analyzer.semanticHighlighting.operator.enable` | Use semantic tokens for operators. | `true` |\n| `rust-analyzer.semanticHighlighting.operator.specialization.enable` | Use specialized semantic tokens for operators. | `false` |\n| `rust-analyzer.semanticHighlighting.punctuation.enable` | Use semantic tokens for punctuations. | `false` |\n| `rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang` | When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro calls. | `false` |\n| `rust-analyzer.semanticHighlighting.punctuation.specialization.enable` | Use specialized semantic tokens for punctuations. | `false` |\n| `rust-analyzer.semanticHighlighting.strings.enable` | Use semantic tokens for strings. | `true` |\n| `rust-analyzer.server.extraEnv` | Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging. | `null` |\n| `rust-analyzer.server.path` | Path to rust-analyzer executable (points to bundled binary by default). If this is set, then \"rust-analyzer.updates.channel\" setting is not used | `null` |\n| `rust-analyzer.signatureInfo.detail` | Show full signature of the callable. Only shows parameters if disabled. | `full` |\n| `rust-analyzer.signatureInfo.documentation.enable` | Show documentation. | `true` |\n| `rust-analyzer.terminal.startinsert` | Enter insert mode after terminal displayed | `false` |\n| `rust-analyzer.trace.server` | Trace requests to the rust-analyzer | `off` |\n| `rust-analyzer.typing.autoClosingAngleBrackets.enable` | Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list. | `false` |\n| `rust-analyzer.updates.channel` | 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 | `stable` |\n| `rust-analyzer.updates.checkOnStartup` | Auto-check rust-analyzer updates on startup | `true` |\n| `rust-analyzer.updates.prompt` | Prompt the user before downloading rust-analyzer | `true` |\n| `rust-analyzer.workspace.symbol.search.kind` | Workspace symbol search kind. | `only_types` |\n| `rust-analyzer.workspace.symbol.search.limit` | Limits the number of items returned from a workspace symbol search (Defaults to 128). | `128` |\n| `rust-analyzer.workspace.symbol.search.scope` | Workspace symbol search scope. | `workspace` |\n\n## Commands\n\nYou can use these commands by `:CocCommand XYZ`.\n\n| Command | Description |\n| -- | -- |\n| rust-analyzer.analyzerStatus | Show rust-analyzer status |\n| rust-analyzer.debug | List available runnables of current file and debug the selected one |\n| rust-analyzer.expandMacro | Expand macro recursively |\n| rust-analyzer.explainError | Explain the currently hovered error message |\n| rust-analyzer.joinLines | Join lines |\n| rust-analyzer.matchingBrace | Find matching brace |\n| rust-analyzer.memoryUsage | Memory Usage (Clears Database) |\n| rust-analyzer.moveItemUp | Move item up |\n| rust-analyzer.moveItemDown | Move item down |\n| rust-analyzer.openDocs | Open docs under cursor |\n| rust-analyzer.parentModule | Locate parent module |\n| rust-analyzer.peekTests | Peek related tests |\n| rust-analyzer.reload | Restart rust-analyzer server |\n| rust-analyzer.reloadWorkspace | Reload workspace |\n| rust-analyzer.run | List available runnables of current file and run the selected one |\n| rust-analyzer.serverVersion | Show current Rust Analyzer server version |\n| rust-analyzer.ssr | Structural Search Replace |\n| rust-analyzer.syntaxTree | Show syntax tree |\n| rust-analyzer.testCurrent | Test Current |\n| rust-analyzer.upgrade | Download latest `rust-analyzer` from [GitHub release](https://github.com/rust-lang/rust-analyzer/releases) |\n| rust-analyzer.viewHir | View Hir |\n| rust-analyzer.viewMir | View Mir |\n| rust-analyzer.viewFileText | View File Text |\n| rust-analyzer.viewCrateGraph | View Crate Graph |\n| rust-analyzer.viewFullCrateGraph | View Crate Graph (Full) |\n| rust-analyzer.shuffleCrateGraph | Shuffle Crate Graph |\n| rust-analyzer.runFlycheck | Run flycheck |\n| rust-analyzer.cancelFlycheck | Cancel running flychecks |\n| rust-analyzer.clearFlycheck | Clear flycheck diagnostics |\n| rust-analyzer.rebuildProcMacros | Rebuild proc macros and build scripts |\n| rust-analyzer.interpretFunction | Interpret Function |\n\n## License\n\nMIT\n\n---\n\n> This extension is built with [create-coc-extension](https://github.com/fannheyward/create-coc-extension)\n","readmeFilename":"README.md"}