2018-07-30 13:58:49 -05:00
{
2020-01-08 10:21:18 -06:00
"name" : "rust-analyzer" ,
"displayName" : "rust-analyzer" ,
2018-12-08 14:56:31 -06:00
"description" : "An alternative rust language server to the RLS" ,
"preview" : true ,
"private" : true ,
2020-01-08 10:21:18 -06:00
"icon" : "icon.png" ,
2020-03-19 03:32:57 -05:00
"version" : "0.4.0-dev" ,
2020-03-20 06:50:50 -05:00
"releaseTag" : null ,
2018-08-27 14:52:43 -05:00
"publisher" : "matklad" ,
"repository" : {
2020-02-02 04:16:41 -06:00
"url" : "https://github.com/rust-analyzer/rust-analyzer.git" ,
"type" : "git"
2018-08-27 14:52:43 -05:00
} ,
2020-03-02 07:27:26 -06:00
"homepage" : "https://rust-analyzer.github.io/" ,
"license" : "MIT OR Apache-2.0" ,
"keywords" : [
"rust"
] ,
2018-08-27 14:52:43 -05:00
"categories" : [
2020-03-02 07:27:26 -06:00
"Programming Languages"
2018-08-10 17:04:09 -05:00
] ,
2018-08-27 14:52:43 -05:00
"engines" : {
2020-12-08 19:56:43 -06:00
"vscode" : "^1.52.0"
2018-08-27 14:52:43 -05:00
} ,
2020-02-26 07:42:26 -06:00
"enableProposedApi" : true ,
2018-08-27 14:52:43 -05:00
"scripts" : {
2020-02-03 11:03:36 -06:00
"vscode:prepublish" : "tsc && rollup -c" ,
2020-02-17 08:33:31 -06:00
"package" : "vsce package -o rust-analyzer.vsix" ,
2020-04-28 15:32:23 -05:00
"build" : "tsc" ,
2020-02-03 11:03:36 -06:00
"watch" : "tsc --watch" ,
2020-05-20 13:03:49 -05:00
"lint" : "tsfmt --verify && eslint -c .eslintrc.js --ext ts ./src ./tests" ,
"fix" : " tsfmt -r && eslint -c .eslintrc.js --ext ts ./src ./tests --fix" ,
"pretest" : "npm run build" ,
"test" : "node ./out/tests/runTests.js"
2018-08-27 14:52:43 -05:00
} ,
"dependencies" : {
2020-09-12 09:50:54 -05:00
"node-fetch" : "^2.6.1" ,
2020-12-08 19:56:43 -06:00
"vscode-languageclient" : "7.0.0"
2018-08-27 14:52:43 -05:00
} ,
"devDependencies" : {
2020-12-07 11:12:40 -06:00
"@rollup/plugin-commonjs" : "^17.0.0" ,
"@rollup/plugin-node-resolve" : "^11.0.0" ,
2020-09-01 13:22:44 -05:00
"@types/glob" : "^7.1.3" ,
2020-12-07 11:12:40 -06:00
"@types/mocha" : "^8.0.4" ,
"@types/node" : "~12.12.6" ,
2020-05-12 16:43:47 -05:00
"@types/node-fetch" : "^2.5.7" ,
2020-12-08 19:56:43 -06:00
"@types/vscode" : "^1.52.0" ,
2020-12-07 11:12:40 -06:00
"@typescript-eslint/eslint-plugin" : "^4.9.0" ,
"@typescript-eslint/parser" : "^4.9.0" ,
"eslint" : "^7.15.0" ,
2020-05-20 13:03:49 -05:00
"glob" : "^7.1.6" ,
2020-12-07 11:12:40 -06:00
"mocha" : "^8.2.1" ,
"rollup" : "^2.34.2" ,
"tslib" : "^2.0.3" ,
"typescript" : "^4.1.2" ,
2020-02-06 19:11:24 -06:00
"typescript-formatter" : "^7.2.2" ,
2020-12-07 11:12:40 -06:00
"vsce" : "^1.81.1" ,
"vscode-test" : "^1.4.1"
2019-12-30 08:08:38 -06:00
} ,
2018-08-27 14:52:43 -05:00
"activationEvents" : [
2019-01-29 11:08:02 -06:00
"onLanguage:rust" ,
"onCommand:rust-analyzer.analyzerStatus" ,
2020-07-07 05:10:14 -05:00
"onCommand:rust-analyzer.memoryUsage" ,
2020-07-01 07:57:59 -05:00
"onCommand:rust-analyzer.reloadWorkspace" ,
2019-03-13 08:14:30 -05:00
"workspaceContains:**/Cargo.toml"
2018-08-13 05:46:05 -05:00
] ,
2020-05-20 13:03:49 -05:00
"main" : "./out/src/main" ,
2018-08-27 14:52:43 -05:00
"contributes" : {
"taskDefinitions" : [
{
"type" : "cargo" ,
"required" : [
"command"
] ,
"properties" : {
"label" : {
"type" : "string"
} ,
"command" : {
"type" : "string"
} ,
"args" : {
2020-03-23 18:11:36 -05:00
"type" : "array" ,
"items" : {
"type" : "string"
}
2018-08-27 14:52:43 -05:00
} ,
"env" : {
2020-03-23 18:11:36 -05:00
"type" : "object" ,
"patternProperties" : {
".+" : {
"type" : "string"
}
}
2018-08-27 14:52:43 -05:00
}
}
}
] ,
"commands" : [
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.syntaxTree" ,
2019-03-03 13:21:40 -06:00
"title" : "Show Syntax Tree" ,
2019-01-29 11:16:14 -06:00
"category" : "Rust Analyzer"
2018-08-27 14:52:43 -05:00
} ,
2020-12-28 12:29:58 -06:00
{
"command" : "rust-analyzer.viewHir" ,
"title" : "View Hir" ,
"category" : "Rust Analyzer"
} ,
2019-11-19 11:06:10 -06:00
{
"command" : "rust-analyzer.expandMacro" ,
"title" : "Expand macro recursively" ,
"category" : "Rust Analyzer"
} ,
2018-08-27 14:52:43 -05:00
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.matchingBrace" ,
2019-01-29 11:16:14 -06:00
"title" : "Find matching brace" ,
"category" : "Rust Analyzer"
2018-08-27 14:52:43 -05:00
} ,
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.parentModule" ,
2019-01-29 11:16:14 -06:00
"title" : "Locate parent module" ,
"category" : "Rust Analyzer"
2018-08-27 14:52:43 -05:00
} ,
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.joinLines" ,
2019-01-29 11:16:14 -06:00
"title" : "Join lines" ,
"category" : "Rust Analyzer"
2018-08-27 14:52:43 -05:00
} ,
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.run" ,
2019-01-29 11:16:14 -06:00
"title" : "Run" ,
"category" : "Rust Analyzer"
2019-01-22 15:15:03 -06:00
} ,
2020-05-11 08:06:57 -05:00
{
"command" : "rust-analyzer.debug" ,
"title" : "Debug" ,
"category" : "Rust Analyzer"
} ,
2020-05-11 10:00:15 -05:00
{
"command" : "rust-analyzer.newDebugConfig" ,
"title" : "Generate launch configuration" ,
"category" : "Rust Analyzer"
} ,
2019-01-22 15:15:03 -06:00
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.analyzerStatus" ,
2019-01-29 11:16:14 -06:00
"title" : "Status" ,
"category" : "Rust Analyzer"
2019-01-25 10:11:58 -06:00
} ,
2020-07-07 05:10:14 -05:00
{
"command" : "rust-analyzer.memoryUsage" ,
"title" : "Memory Usage (Clears Database)" ,
"category" : "Rust Analyzer"
} ,
2019-01-25 10:11:58 -06:00
{
2020-07-01 07:57:59 -05:00
"command" : "rust-analyzer.reloadWorkspace" ,
"title" : "Reload workspace" ,
2019-01-29 11:16:14 -06:00
"category" : "Rust Analyzer"
2019-04-15 14:41:27 -05:00
} ,
{
"command" : "rust-analyzer.reload" ,
"title" : "Restart server" ,
"category" : "Rust Analyzer"
2020-02-01 19:21:04 -06:00
} ,
2020-09-23 02:50:34 -05:00
{
"command" : "rust-analyzer.updateGithubToken" ,
"title" : "Update Github API token" ,
"category" : "Rust Analyzer"
} ,
2020-02-01 19:21:04 -06:00
{
"command" : "rust-analyzer.onEnter" ,
"title" : "Enhanced enter key" ,
"category" : "Rust Analyzer"
2020-02-10 16:45:38 -06:00
} ,
{
"command" : "rust-analyzer.ssr" ,
"title" : "Structural Search Replace" ,
"category" : "Rust Analyzer"
2020-02-20 20:04:03 -06:00
} ,
{
"command" : "rust-analyzer.serverVersion" ,
"title" : "Show RA Version" ,
"category" : "Rust Analyzer"
2020-05-24 19:47:33 -05:00
} ,
{
"command" : "rust-analyzer.toggleInlayHints" ,
"title" : "Toggle inlay hints" ,
"category" : "Rust Analyzer"
2020-08-30 03:02:29 -05:00
} ,
{
"command" : "rust-analyzer.openDocs" ,
"title" : "Open docs under cursor" ,
"category" : "Rust Analyzer"
2020-11-12 19:48:07 -06:00
} ,
{
"command" : "rust-analyzer.openCargoToml" ,
"title" : "Open Cargo.toml" ,
"category" : "Rust Analyzer"
2018-08-27 14:52:43 -05:00
}
] ,
"keybindings" : [
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.parentModule" ,
2020-04-13 05:13:55 -05:00
"key" : "ctrl+shift+u" ,
2018-08-27 14:52:43 -05:00
"when" : "editorTextFocus && editorLangId == rust"
} ,
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.matchingBrace" ,
2018-08-27 14:52:43 -05:00
"key" : "ctrl+shift+m" ,
"when" : "editorTextFocus && editorLangId == rust"
} ,
{
2019-01-28 05:43:07 -06:00
"command" : "rust-analyzer.joinLines" ,
2018-08-27 14:52:43 -05:00
"key" : "ctrl+shift+j" ,
"when" : "editorTextFocus && editorLangId == rust"
}
2018-08-13 05:46:05 -05:00
] ,
2018-09-29 14:27:41 -05:00
"configuration" : {
"type" : "object" ,
2018-10-06 15:53:12 -05:00
"title" : "Rust Analyzer" ,
2018-09-29 14:27:41 -05:00
"properties" : {
2020-06-18 14:20:13 -05:00
"rust-analyzer.cargoRunner" : {
"type" : [
"null" ,
"string"
] ,
"default" : null ,
"description" : "Custom cargo runner extension ID."
} ,
2020-07-02 11:47:40 -05:00
"rust-analyzer.runnableEnv" : {
"anyOf" : [
{
"type" : "null"
} ,
{
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"mask" : {
"type" : "string" ,
"description" : "Runnable name mask"
} ,
"env" : {
"type" : "object" ,
"description" : "Variables in form of { \"key\": \"value\"}"
}
}
}
} ,
{
"type" : "object" ,
"description" : "Variables in form of { \"key\": \"value\"}"
}
] ,
"default" : null ,
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Environment variables passed to the runnable launched using `Test` or `Debug` lens or `rust-analyzer.run` command."
2020-07-02 11:47:40 -05:00
} ,
2020-05-08 02:28:15 -05:00
"rust-analyzer.inlayHints.enable" : {
"type" : "boolean" ,
"default" : true ,
2020-12-21 18:15:50 -06:00
"description" : "Whether to show inlay hints."
2020-05-08 02:28:15 -05:00
} ,
2020-04-02 04:55:04 -05:00
"rust-analyzer.updates.channel" : {
"type" : "string" ,
"enum" : [
"stable" ,
"nightly"
] ,
"default" : "stable" ,
"markdownEnumDescriptions" : [
2020-12-21 18:15:50 -06:00
"`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**."
2020-04-02 04:55:04 -05:00
] ,
2020-12-21 18:15:50 -06:00
"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."
2020-04-02 04:55:04 -05:00
} ,
"rust-analyzer.updates.askBeforeDownload" : {
"type" : "boolean" ,
"default" : true ,
2020-12-21 18:15:50 -06:00
"description" : "Whether to ask for permission before downloading any files from the Internet."
2020-04-02 04:55:04 -05:00
} ,
2021-01-04 09:39:15 -06:00
"rust-analyzer.server.path" : {
2020-04-02 04:55:04 -05:00
"type" : [
"null" ,
"string"
] ,
"default" : null ,
2020-12-21 18:15:50 -06:00
"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"
2020-04-02 04:55:04 -05:00
} ,
2020-12-30 03:17:25 -06:00
"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."
} ,
2020-04-02 04:55:04 -05:00
"rust-analyzer.trace.server" : {
"type" : "string" ,
"scope" : "window" ,
"enum" : [
"off" ,
"messages" ,
"verbose"
] ,
"enumDescriptions" : [
"No traces" ,
"Error only" ,
"Full log"
] ,
"default" : "off" ,
2020-12-21 18:15:50 -06:00
"description" : "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users)."
2020-04-02 04:55:04 -05:00
} ,
"rust-analyzer.trace.extension" : {
2020-12-21 18:15:50 -06:00
"description" : "Enable logging of VS Code extensions itself." ,
2020-04-02 04:55:04 -05:00
"type" : "boolean" ,
"default" : false
2020-04-12 11:05:33 -05:00
} ,
2020-04-29 05:10:42 -05:00
"rust-analyzer.debug.engine" : {
2020-04-29 06:13:57 -05:00
"type" : "string" ,
2020-04-29 05:10:42 -05:00
"enum" : [
2020-04-29 06:13:57 -05:00
"auto" ,
"vadimcn.vscode-lldb" ,
"ms-vscode.cpptools"
2020-04-29 05:10:42 -05:00
] ,
2020-04-29 06:13:57 -05:00
"default" : "auto" ,
2020-05-06 10:22:24 -05:00
"description" : "Preferred debug engine." ,
2020-04-29 06:13:57 -05:00
"markdownEnumDescriptions" : [
2020-04-30 07:25:04 -05:00
"First try to use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb), if it's not installed try to use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)." ,
2020-04-29 06:13:57 -05:00
"Use [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)" ,
"Use [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)"
]
2020-04-29 05:10:42 -05:00
} ,
2020-04-29 06:13:57 -05:00
"rust-analyzer.debug.sourceFileMap" : {
"type" : "object" ,
2020-04-29 05:10:42 -05:00
"description" : "Optional source file mappings passed to the debug engine." ,
"default" : {
2020-04-29 06:13:57 -05:00
"/rustc/<id>" : "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
2020-04-29 05:10:42 -05:00
}
2020-05-07 09:07:58 -05:00
} ,
2020-05-08 11:22:26 -05:00
"rust-analyzer.debug.openDebugPane" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Whether to open up the `Debug Panel` on debugging start." ,
2020-05-07 09:07:58 -05:00
"type" : "boolean" ,
"default" : false
} ,
"rust-analyzer.debug.engineSettings" : {
"type" : "object" ,
"default" : { } ,
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Optional settings passed to the debug engine. Example: `{ \"lldb\": { \"terminal\":\"external\"} }`"
2020-05-17 11:51:44 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.assist.importMergeBehaviour" : {
"markdownDescription" : "The strategy to use when inserting new imports or merging imports." ,
"default" : "full" ,
"type" : "string" ,
"enum" : [
"none" ,
"full" ,
"last"
] ,
"enumDescriptions" : [
"No merging" ,
"Merge all layers of the import trees" ,
"Only merge the last layer of the import trees"
]
2020-05-18 02:27:00 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.assist.importPrefix" : {
"markdownDescription" : "The path structure for newly inserted paths to use." ,
"default" : "plain" ,
"type" : "string" ,
"enum" : [
"plain" ,
"by_self" ,
"by_crate"
] ,
"enumDescriptions" : [
"Insert import paths relative to the current module, using up to one `super` prefix if the parent module contains the requested item." ,
2020-12-21 18:15:50 -06:00
"Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name." ,
2020-12-02 08:31:24 -06:00
"Force import paths to be absolute by always starting them with `crate` or the crate name they refer to."
]
2020-05-17 11:51:44 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.callInfo.full" : {
"markdownDescription" : "Show function name and docs in parameter hints." ,
"default" : true ,
"type" : "boolean"
2020-05-17 11:51:44 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.autoreload" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Automatically refresh project info via `cargo metadata` on `Cargo.toml` changes." ,
2020-12-02 08:31:24 -06:00
"default" : true ,
"type" : "boolean"
2020-06-03 06:15:54 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.allFeatures" : {
"markdownDescription" : "Activate all available features." ,
"default" : false ,
"type" : "boolean"
2020-09-01 08:33:02 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.features" : {
"markdownDescription" : "List of features to activate." ,
"default" : [ ] ,
"type" : "array" ,
"items" : {
"type" : "string"
}
2020-06-03 06:15:54 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.loadOutDirsFromCheck" : {
"markdownDescription" : "Run `cargo check` on startup to get the correct value for package OUT_DIRs." ,
"default" : false ,
"type" : "boolean"
2020-06-03 07:48:38 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.noDefaultFeatures" : {
"markdownDescription" : "Do not activate the `default` feature." ,
"default" : false ,
"type" : "boolean"
2020-06-06 06:30:29 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.target" : {
"markdownDescription" : "Compilation target (target triple)." ,
"default" : null ,
"type" : [
"null" ,
"string"
]
2020-06-10 15:01:19 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.cargo.noSysroot" : {
"markdownDescription" : "Internal config for debugging, disables loading of sysroot crates." ,
"default" : false ,
"type" : "boolean"
2020-06-06 06:30:29 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.checkOnSave.enable" : {
"markdownDescription" : "Run specified `cargo check` command for diagnostics on save." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.checkOnSave.allFeatures" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Check with all features (will be passed as `--all-features`). Defaults to `#rust-analyzer.cargo.allFeatures#`." ,
2020-12-02 08:31:24 -06:00
"default" : null ,
"type" : [
"null" ,
"boolean"
]
} ,
"rust-analyzer.checkOnSave.allTargets" : {
"markdownDescription" : "Check all targets and tests (will be passed as `--all-targets`)." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.checkOnSave.command" : {
"markdownDescription" : "Cargo command to use for `cargo check`." ,
"default" : "check" ,
"type" : "string"
} ,
"rust-analyzer.checkOnSave.noDefaultFeatures" : {
"markdownDescription" : "Do not activate the `default` feature." ,
"default" : null ,
"type" : [
"null" ,
"boolean"
]
} ,
"rust-analyzer.checkOnSave.target" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Check for a specific target. Defaults to `#rust-analyzer.cargo.target#`." ,
2020-12-02 08:31:24 -06:00
"default" : null ,
"type" : [
"null" ,
"string"
]
} ,
"rust-analyzer.checkOnSave.extraArgs" : {
"markdownDescription" : "Extra arguments for `cargo check`." ,
"default" : [ ] ,
2020-06-03 07:48:38 -05:00
"type" : "array" ,
"items" : {
2020-12-02 08:31:24 -06:00
"type" : "string"
}
} ,
"rust-analyzer.checkOnSave.features" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "List of features to activate. Defaults to `#rust-analyzer.cargo.features#`." ,
2020-12-02 08:31:24 -06:00
"default" : null ,
"type" : [
"null" ,
"array"
] ,
"items" : {
"type" : "string"
}
} ,
"rust-analyzer.checkOnSave.overrideCommand" : {
"markdownDescription" : "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message-format=json` or similar option." ,
"default" : null ,
"type" : [
"null" ,
"array"
] ,
"items" : {
"type" : "string"
}
} ,
"rust-analyzer.completion.addCallArgumentSnippets" : {
"markdownDescription" : "Whether to add argument snippets when completing functions." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.completion.addCallParenthesis" : {
"markdownDescription" : "Whether to add parenthesis when completing functions." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.completion.postfix.enable" : {
"markdownDescription" : "Whether to show postfix snippets like `dbg`, `if`, `not`, etc." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.completion.autoimport.enable" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Toggles the additional completions that automatically add imports when completed. Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled." ,
2020-12-02 08:31:24 -06:00
"default" : true ,
"type" : "boolean"
2020-06-03 07:48:38 -05:00
} ,
2020-07-24 10:39:16 -05:00
"rust-analyzer.diagnostics.enable" : {
2020-12-02 08:31:24 -06:00
"markdownDescription" : "Whether to show native rust-analyzer diagnostics." ,
2020-07-24 10:39:16 -05:00
"default" : true ,
2020-12-02 08:31:24 -06:00
"type" : "boolean"
2020-07-24 10:39:16 -05:00
} ,
"rust-analyzer.diagnostics.enableExperimental" : {
2020-12-02 08:31:24 -06:00
"markdownDescription" : "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual." ,
2020-07-24 10:39:16 -05:00
"default" : true ,
2020-12-02 08:31:24 -06:00
"type" : "boolean"
2020-07-24 10:39:16 -05:00
} ,
2020-08-18 09:03:15 -05:00
"rust-analyzer.diagnostics.disabled" : {
2020-12-02 08:31:24 -06:00
"markdownDescription" : "List of rust-analyzer diagnostics to disable." ,
"default" : [ ] ,
2020-06-16 15:26:33 -05:00
"type" : "array" ,
"items" : {
"type" : "string"
} ,
2020-12-02 08:31:24 -06:00
"uniqueItems" : true
2020-06-16 15:26:33 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.diagnostics.warningsAsHint" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "List of warnings that should be displayed with info severity.\\n\\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the `Problems Panel`." ,
2020-12-02 08:31:24 -06:00
"default" : [ ] ,
2020-06-16 15:26:33 -05:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 08:31:24 -06:00
}
2020-08-12 08:06:55 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.diagnostics.warningsAsInfo" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "List of warnings that should be displayed with hint severity.\\n\\nThe warnings will be indicated by faded text or three dots in code and will not show up in the `Problems Panel`." ,
2020-12-02 08:31:24 -06:00
"default" : [ ] ,
2020-08-12 08:06:55 -05:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 08:31:24 -06:00
}
2020-09-12 04:55:01 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.files.watcher" : {
"markdownDescription" : "Controls file watching implementation." ,
"default" : "client" ,
"type" : "string"
2020-09-05 08:21:14 -05:00
} ,
2020-12-02 08:31:24 -06:00
"rust-analyzer.hoverActions.debug" : {
"markdownDescription" : "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.hoverActions.enable" : {
"markdownDescription" : "Whether to show HoverActions in Rust files." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.hoverActions.gotoTypeDef" : {
"markdownDescription" : "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.hoverActions.implementations" : {
"markdownDescription" : "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.hoverActions.run" : {
"markdownDescription" : "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.hoverActions.linksInHover" : {
"markdownDescription" : "Use markdown syntax for links in hover." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.inlayHints.chainingHints" : {
"markdownDescription" : "Whether to show inlay type hints for method chains." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.inlayHints.maxLength" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Maximum length for inlay hints. Default is unlimited." ,
2020-12-02 08:31:24 -06:00
"default" : null ,
"type" : [
"null" ,
"integer"
2020-10-05 10:41:49 -05:00
] ,
2020-12-02 08:31:24 -06:00
"minimum" : 0
} ,
"rust-analyzer.inlayHints.parameterHints" : {
"markdownDescription" : "Whether to show function parameter name inlay hints at the call site." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.inlayHints.typeHints" : {
"markdownDescription" : "Whether to show inlay type hints for variables." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.lens.debug" : {
"markdownDescription" : "Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.lens.enable" : {
"markdownDescription" : "Whether to show CodeLens in Rust files." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.lens.implementations" : {
"markdownDescription" : "Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.lens.run" : {
"markdownDescription" : "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.lens.methodReferences" : {
"markdownDescription" : "Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set." ,
"default" : false ,
"type" : "boolean"
} ,
"rust-analyzer.linkedProjects" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Disable project auto-discovery in favor of explicitly specified set of projects.\\n\\nElements must be paths pointing to `Cargo.toml`, `rust-project.json`, or JSON objects in `rust-project.json` format." ,
2020-12-02 08:31:24 -06:00
"default" : [ ] ,
"type" : "array" ,
"items" : {
"type" : [
"string" ,
"object"
]
}
} ,
"rust-analyzer.lruCapacity" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Number of syntax trees rust-analyzer keeps in memory. Defaults to 128." ,
2020-12-02 08:31:24 -06:00
"default" : null ,
"type" : [
"null" ,
"integer"
2020-10-05 10:41:49 -05:00
] ,
2020-12-02 08:31:24 -06:00
"minimum" : 0
} ,
"rust-analyzer.notifications.cargoTomlNotFound" : {
"markdownDescription" : "Whether to show `can't find Cargo.toml` error message." ,
"default" : true ,
"type" : "boolean"
} ,
"rust-analyzer.procMacro.enable" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be enabled." ,
2020-12-02 08:31:24 -06:00
"default" : false ,
"type" : "boolean"
2020-10-05 10:41:49 -05:00
} ,
2021-01-06 04:54:28 -06:00
"rust-analyzer.procMacro.server" : {
"markdownDescription" : "Internal config, path to proc-macro server executable (typically, this is rust-analyzer itself, but we override this in tests)." ,
"default" : null ,
"type" : [
"null" ,
"string"
]
} ,
2020-09-05 08:21:14 -05:00
"rust-analyzer.runnables.overrideCargo" : {
2020-12-02 08:31:24 -06:00
"markdownDescription" : "Command to be executed instead of 'cargo' for runnables." ,
"default" : null ,
2020-09-05 08:21:14 -05:00
"type" : [
"null" ,
"string"
2020-12-02 08:31:24 -06:00
]
2020-09-05 08:21:14 -05:00
} ,
"rust-analyzer.runnables.cargoExtraArgs" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Additional arguments to be passed to cargo for runnables such as tests or binaries.\\nFor example, it may be `--release`." ,
2020-12-02 08:31:24 -06:00
"default" : [ ] ,
2020-09-05 08:21:14 -05:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 08:31:24 -06:00
}
2020-11-10 14:50:05 -06:00
} ,
2020-11-12 11:46:47 -06:00
"rust-analyzer.rustcSource" : {
2020-12-02 08:31:24 -06:00
"markdownDescription" : "Path to the rust compiler sources, for usage in rustc_private projects." ,
"default" : null ,
2020-11-12 11:46:47 -06:00
"type" : [
"null" ,
"string"
2020-12-02 08:31:24 -06:00
]
} ,
"rust-analyzer.rustfmt.extraArgs" : {
2020-12-21 18:15:50 -06:00
"markdownDescription" : "Additional arguments to `rustfmt`." ,
2020-12-02 08:31:24 -06:00
"default" : [ ] ,
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
"rust-analyzer.rustfmt.overrideCommand" : {
"markdownDescription" : "Advanced option, fully override the command rust-analyzer uses for formatting." ,
2020-11-10 14:50:05 -06:00
"default" : null ,
2020-12-02 08:31:24 -06:00
"type" : [
"null" ,
"array"
] ,
"items" : {
"type" : "string"
}
2020-04-02 05:47:58 -05:00
}
2018-09-29 14:27:41 -05:00
}
} ,
2018-12-30 11:24:07 -06:00
"problemPatterns" : [
2018-08-27 14:52:43 -05:00
{
"name" : "rustc" ,
2018-12-30 11:24:07 -06:00
"patterns" : [
2018-08-27 14:52:43 -05:00
{
2018-12-30 11:24:07 -06:00
"regexp" : "^(warning|warn|error)(?:\\[(.*?)\\])?: (.*)$" ,
2018-08-27 14:52:43 -05:00
"severity" : 1 ,
2018-12-30 11:24:07 -06:00
"code" : 2 ,
"message" : 3
2018-08-27 14:52:43 -05:00
} ,
{
2018-12-30 11:24:07 -06:00
"regexp" : "^[\\s->=]*(.*?):(\\d*):(\\d*)\\s*$" ,
"file" : 1 ,
"line" : 2 ,
"column" : 3
2018-08-27 14:52:43 -05:00
}
]
2019-12-15 10:12:52 -06:00
} ,
{
"name" : "rustc-json" ,
2019-12-15 10:19:41 -06:00
"patterns" : [
{
"regexp" : "^.*\"message\":{\"message\":\"([^\"]*).*?\"file_name\":\"([^\"]+).*?\"line_start\":(\\d+).*?\"line_end\":(\\d+).*?\"column_start\":(\\d+).*?\"column_end\":(\\d+).*}$" ,
"message" : 1 ,
"file" : 2 ,
"line" : 3 ,
"endLine" : 4 ,
"column" : 5 ,
"endColumn" : 6
}
]
2018-08-27 14:52:43 -05:00
}
2018-12-30 11:24:07 -06:00
] ,
2020-04-01 21:38:52 -05:00
"languages" : [
{
"id" : "ra_syntax_tree" ,
"extensions" : [
".rast"
]
2020-12-11 18:31:00 -06:00
} ,
{
"id" : "rust" ,
"extensions" : [
".rs"
] ,
"aliases" : [
"Rust" ,
"rs"
] ,
"configuration" : "language-configuration.json"
2020-04-01 21:38:52 -05:00
}
] ,
"grammars" : [
{
"language" : "ra_syntax_tree" ,
"scopeName" : "source.ra_syntax_tree" ,
"path" : "ra_syntax_tree.tmGrammar.json"
}
] ,
2018-12-30 11:24:07 -06:00
"problemMatchers" : [
{
"name" : "rustc" ,
2020-07-23 00:32:54 -05:00
"owner" : "rustc" ,
"source" : "rustc" ,
2018-12-30 11:24:07 -06:00
"fileLocation" : [
2020-07-23 00:32:54 -05:00
"autoDetect" ,
2018-12-30 11:24:07 -06:00
"${workspaceRoot}"
] ,
2019-02-18 12:12:54 -06:00
"pattern" : "$rustc"
2019-04-14 05:45:36 -05:00
} ,
2019-12-15 10:12:52 -06:00
{
"name" : "rustc-json" ,
2020-07-23 00:32:54 -05:00
"owner" : "rustc" ,
"source" : "rustc" ,
2019-12-15 10:12:52 -06:00
"fileLocation" : [
2020-07-23 00:32:54 -05:00
"autoDetect" ,
2019-12-15 10:12:52 -06:00
"${workspaceRoot}"
] ,
"pattern" : "$rustc-json"
} ,
2019-04-14 05:45:36 -05:00
{
"name" : "rustc-watch" ,
2020-07-23 00:32:54 -05:00
"owner" : "rustc" ,
"source" : "rustc" ,
2019-04-14 05:45:36 -05:00
"fileLocation" : [
2020-07-23 00:32:54 -05:00
"autoDetect" ,
2019-04-14 05:45:36 -05:00
"${workspaceRoot}"
] ,
"background" : {
"beginsPattern" : "^\\[Running\\b" ,
"endsPattern" : "^\\[Finished running\\b"
} ,
"pattern" : "$rustc"
2018-12-30 11:24:07 -06:00
}
2019-05-21 06:04:54 -05:00
] ,
"colors" : [
{
2020-08-25 18:37:58 -05:00
"id" : "rust_analyzer.inlayHints.foreground" ,
"description" : "Foreground color of inlay hints (is overriden by more specific rust_analyzer.inlayHints.foreground.* configurations)" ,
2019-07-23 08:38:21 -05:00
"defaults" : {
"dark" : "#A0A0A0F0" ,
"light" : "#747474" ,
"highContrast" : "#BEBEBE"
}
2020-04-01 17:20:08 -05:00
} ,
2020-08-25 18:37:58 -05:00
{
"id" : "rust_analyzer.inlayHints.background" ,
"description" : "Background color of inlay hints (is overriden by more specific rust_analyzer.inlayHints.background.* configurations)" ,
"defaults" : {
"dark" : "#11223300" ,
"light" : "#11223300" ,
"highContrast" : "#11223300"
}
} ,
{
"id" : "rust_analyzer.inlayHints.foreground.typeHints" ,
"description" : "Foreground color of inlay type hints for variables (overrides rust_analyzer.inlayHints.foreground)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.foreground" ,
"light" : "rust_analyzer.inlayHints.foreground" ,
"highContrast" : "rust_analyzer.inlayHints.foreground"
}
} ,
{
"id" : "rust_analyzer.inlayHints.foreground.chainingHints" ,
"description" : "Foreground color of inlay type hints for method chains (overrides rust_analyzer.inlayHints.foreground)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.foreground" ,
"light" : "rust_analyzer.inlayHints.foreground" ,
"highContrast" : "rust_analyzer.inlayHints.foreground"
}
} ,
{
"id" : "rust_analyzer.inlayHints.foreground.parameterHints" ,
"description" : "Foreground color of function parameter name inlay hints at the call site (overrides rust_analyzer.inlayHints.foreground)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.foreground" ,
"light" : "rust_analyzer.inlayHints.foreground" ,
"highContrast" : "rust_analyzer.inlayHints.foreground"
}
} ,
{
"id" : "rust_analyzer.inlayHints.background.typeHints" ,
"description" : "Background color of inlay type hints for variables (overrides rust_analyzer.inlayHints.background)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.background" ,
"light" : "rust_analyzer.inlayHints.background" ,
"highContrast" : "rust_analyzer.inlayHints.background"
}
} ,
{
"id" : "rust_analyzer.inlayHints.background.chainingHints" ,
"description" : "Background color of inlay type hints for method chains (overrides rust_analyzer.inlayHints.background)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.background" ,
"light" : "rust_analyzer.inlayHints.background" ,
"highContrast" : "rust_analyzer.inlayHints.background"
}
} ,
{
"id" : "rust_analyzer.inlayHints.background.parameterHints" ,
"description" : "Background color of function parameter name inlay hints at the call site (overrides rust_analyzer.inlayHints.background)" ,
"defaults" : {
"dark" : "rust_analyzer.inlayHints.background" ,
"light" : "rust_analyzer.inlayHints.background" ,
"highContrast" : "rust_analyzer.inlayHints.background"
}
} ,
2020-04-01 17:20:08 -05:00
{
"id" : "rust_analyzer.syntaxTreeBorder" ,
"description" : "Color of the border displayed in the Rust source code for the selected syntax node (see \"Show Syntax Tree\" command)" ,
"defaults" : {
"dark" : "#ffffff" ,
"light" : "#b700ff" ,
"highContrast" : "#b700ff"
}
2019-05-21 06:04:54 -05:00
}
2020-02-26 11:20:38 -06:00
] ,
2020-02-26 12:39:32 -06:00
"semanticTokenTypes" : [
{
2020-02-28 05:06:54 -06:00
"id" : "attribute" ,
"description" : "Style for attributes"
2020-02-26 16:16:57 -06:00
} ,
2020-05-25 03:39:56 -05:00
{
"id" : "boolean" ,
"description" : "Style for boolean literals" ,
"superType" : "keyword"
} ,
2020-02-26 16:16:57 -06:00
{
2020-02-28 05:06:54 -06:00
"id" : "builtinType" ,
2020-04-03 05:24:11 -05:00
"description" : "Style for builtin types" ,
"superType" : "type"
2020-02-28 05:06:54 -06:00
} ,
{
"id" : "lifetime" ,
"description" : "Style for lifetimes"
} ,
{
2020-05-25 03:51:56 -05:00
"id" : "selfKeyword" ,
"description" : "Style for the self keyword" ,
"superType" : "keyword"
} ,
{
2020-02-28 05:06:54 -06:00
"id" : "typeAlias" ,
2020-04-03 05:24:11 -05:00
"description" : "Style for type aliases" ,
"superType" : "type"
2020-02-28 05:06:54 -06:00
} ,
{
"id" : "union" ,
2020-04-03 05:24:11 -05:00
"description" : "Style for C-style untagged unions" ,
"superType" : "type"
2020-04-18 13:59:22 -05:00
} ,
{
"id" : "unresolvedReference" ,
"description" : "Style for names which can not be resolved due to compilation errors"
2020-05-04 06:10:59 -05:00
} ,
{
"id" : "formatSpecifier" ,
"description" : "Style for {} placeholders in format strings"
2020-02-26 12:39:32 -06:00
}
] ,
"semanticTokenModifiers" : [
2020-05-12 23:58:51 -05:00
{
"id" : "attribute" ,
"description" : "Style for elements within attributes"
} ,
2020-02-26 12:39:32 -06:00
{
2020-02-28 05:06:54 -06:00
"id" : "constant" ,
"description" : "Style for compile-time constants"
2020-02-26 12:39:32 -06:00
} ,
{
2020-04-05 07:46:07 -05:00
"id" : "controlFlow" ,
2020-02-28 05:06:54 -06:00
"description" : "Style for control flow keywords"
2020-02-26 12:39:32 -06:00
} ,
{
2020-02-28 05:06:54 -06:00
"id" : "mutable" ,
"description" : "Style for mutable bindings"
2020-02-26 12:39:32 -06:00
} ,
{
2020-02-28 05:06:54 -06:00
"id" : "unsafe" ,
"description" : "Style for unsafe operations"
2020-09-15 16:53:37 -05:00
} ,
{
"id" : "consuming" ,
"description" : "Style for non-Copy lvalues consumed by method/function call"
2020-10-16 07:06:52 -05:00
} ,
{
"id" : "callable" ,
"description" : "Style for variables/parameters that can be used in call expressions"
2020-02-26 12:39:32 -06:00
}
] ,
2020-04-02 08:52:25 -05:00
"semanticTokenScopes" : [
2020-02-27 11:31:54 -06:00
{
2020-04-02 08:52:25 -05:00
"language" : "rust" ,
"scopes" : {
"attribute" : [
2020-05-12 10:31:43 -05:00
"meta.attribute.rust"
2020-04-02 08:52:25 -05:00
] ,
2020-05-12 23:58:51 -05:00
"function.attribute" : [
"entity.name.function.attribute.rust"
] ,
2020-05-21 11:40:52 -05:00
"boolean" : [
"constant.language.boolean.rust"
] ,
2020-04-02 08:52:25 -05:00
"builtinType" : [
2020-05-12 10:31:43 -05:00
"support.type.primitive.rust"
2020-04-02 08:52:25 -05:00
] ,
"lifetime" : [
2020-05-10 15:32:42 -05:00
"storage.modifier.lifetime.rust"
2020-04-02 08:52:25 -05:00
] ,
"typeAlias" : [
2020-05-12 10:31:43 -05:00
"entity.name.type.typeAlias.rust"
2020-04-02 08:52:25 -05:00
] ,
"union" : [
2020-05-12 10:31:43 -05:00
"entity.name.type.union.rust"
2020-04-02 08:52:25 -05:00
] ,
2020-05-07 11:46:58 -05:00
"struct" : [
2020-05-12 10:31:43 -05:00
"entity.name.type.struct.rust"
2020-05-07 11:46:58 -05:00
] ,
2020-05-06 12:03:17 -05:00
"keyword" : [
2020-05-12 10:31:43 -05:00
"keyword.other.rust"
2020-05-06 12:03:17 -05:00
] ,
"keyword.controlFlow" : [
2020-05-12 10:31:43 -05:00
"keyword.control.rust"
2020-05-06 12:03:17 -05:00
] ,
2020-04-02 08:52:25 -05:00
"variable.constant" : [
2020-05-12 10:31:43 -05:00
"variable.other.constant.rust"
2020-05-09 12:23:32 -05:00
] ,
"formatSpecifier" : [
2020-05-12 10:31:43 -05:00
"punctuation.section.embedded.rust"
2020-05-09 15:19:29 -05:00
] ,
"*.mutable" : [
"markup.underline"
2020-04-02 08:52:25 -05:00
]
2020-02-28 05:06:54 -06:00
}
2020-02-26 11:20:38 -06:00
}
2020-05-27 11:40:13 -05:00
] ,
"menus" : {
"commandPalette" : [
{
"command" : "rust-analyzer.syntaxTree" ,
"when" : "inRustProject"
} ,
2020-12-28 12:29:58 -06:00
{
"command" : "rust-analyzer.viewHir" ,
"when" : "inRustProject"
} ,
2020-05-27 11:40:13 -05:00
{
"command" : "rust-analyzer.expandMacro" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.matchingBrace" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.parentModule" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.joinLines" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.run" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.debug" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.newDebugConfig" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.analyzerStatus" ,
"when" : "inRustProject"
} ,
2020-07-07 05:10:14 -05:00
{
"command" : "rust-analyzer.memoryUsage" ,
"when" : "inRustProject"
} ,
2020-05-27 11:40:13 -05:00
{
2020-07-01 07:57:59 -05:00
"command" : "rust-analyzer.reloadWorkspace" ,
2020-05-27 11:40:13 -05:00
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.reload" ,
"when" : "inRustProject"
} ,
2020-09-23 02:50:34 -05:00
{
"command" : "rust-analyzer.updateGithubToken" ,
"when" : "inRustProject"
} ,
2020-05-27 11:40:13 -05:00
{
"command" : "rust-analyzer.onEnter" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.ssr" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.serverVersion" ,
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.toggleInlayHints" ,
"when" : "inRustProject"
2020-08-30 03:02:29 -05:00
} ,
{
"command" : "rust-analyzer.openDocs" ,
"when" : "inRustProject"
2020-11-12 19:48:07 -06:00
} ,
{
"command" : "rust-analyzer.openCargoToml" ,
"when" : "inRustProject"
2020-05-27 11:40:13 -05:00
}
]
}
2018-08-27 14:52:43 -05:00
}
2020-10-06 17:05:20 -05:00
}