2018-07-30 18:58:49 +00:00
{
2020-01-08 16:21:18 +00:00
"name" : "rust-analyzer" ,
"displayName" : "rust-analyzer" ,
2018-12-08 20:56:31 +00:00
"description" : "An alternative rust language server to the RLS" ,
"preview" : true ,
"private" : true ,
2020-01-08 16:21:18 +00:00
"icon" : "icon.png" ,
2020-03-19 08:32:57 +00:00
"version" : "0.4.0-dev" ,
2020-03-20 11:50:50 +00:00
"releaseTag" : null ,
2018-08-27 19:52:43 +00:00
"publisher" : "matklad" ,
"repository" : {
2020-02-02 10:16:41 +00:00
"url" : "https://github.com/rust-analyzer/rust-analyzer.git" ,
"type" : "git"
2018-08-27 19:52:43 +00:00
} ,
2020-03-02 13:27:26 +00:00
"homepage" : "https://rust-analyzer.github.io/" ,
"license" : "MIT OR Apache-2.0" ,
"keywords" : [
"rust"
] ,
2018-08-27 19:52:43 +00:00
"categories" : [
2020-03-02 13:27:26 +00:00
"Programming Languages"
2018-08-10 22:04:09 +00:00
] ,
2018-08-27 19:52:43 +00:00
"engines" : {
2020-12-09 01:56:43 +00:00
"vscode" : "^1.52.0"
2018-08-27 19:52:43 +00:00
} ,
2020-02-26 13:42:26 +00:00
"enableProposedApi" : true ,
2018-08-27 19:52:43 +00:00
"scripts" : {
2020-02-03 17:03:36 +00:00
"vscode:prepublish" : "tsc && rollup -c" ,
2020-02-17 14:33:31 +00:00
"package" : "vsce package -o rust-analyzer.vsix" ,
2020-04-28 20:32:23 +00:00
"build" : "tsc" ,
2020-02-03 17:03:36 +00:00
"watch" : "tsc --watch" ,
2020-05-20 18:03:49 +00: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 19:52:43 +00:00
} ,
"dependencies" : {
2020-09-12 14:50:54 +00:00
"node-fetch" : "^2.6.1" ,
2020-12-09 01:56:43 +00:00
"vscode-languageclient" : "7.0.0"
2018-08-27 19:52:43 +00:00
} ,
"devDependencies" : {
2020-12-07 17:12:40 +00:00
"@rollup/plugin-commonjs" : "^17.0.0" ,
"@rollup/plugin-node-resolve" : "^11.0.0" ,
2020-09-01 18:22:44 +00:00
"@types/glob" : "^7.1.3" ,
2020-12-07 17:12:40 +00:00
"@types/mocha" : "^8.0.4" ,
"@types/node" : "~12.12.6" ,
2020-05-12 21:43:47 +00:00
"@types/node-fetch" : "^2.5.7" ,
2020-12-09 01:56:43 +00:00
"@types/vscode" : "^1.52.0" ,
2020-12-07 17:12:40 +00:00
"@typescript-eslint/eslint-plugin" : "^4.9.0" ,
"@typescript-eslint/parser" : "^4.9.0" ,
"eslint" : "^7.15.0" ,
2020-05-20 18:03:49 +00:00
"glob" : "^7.1.6" ,
2020-12-07 17:12:40 +00:00
"mocha" : "^8.2.1" ,
"rollup" : "^2.34.2" ,
"tslib" : "^2.0.3" ,
"typescript" : "^4.1.2" ,
2020-02-07 01:11:24 +00:00
"typescript-formatter" : "^7.2.2" ,
2020-12-07 17:12:40 +00:00
"vsce" : "^1.81.1" ,
"vscode-test" : "^1.4.1"
2019-12-30 14:08:38 +00:00
} ,
2018-08-27 19:52:43 +00:00
"activationEvents" : [
2019-01-29 17:08:02 +00:00
"onLanguage:rust" ,
"onCommand:rust-analyzer.analyzerStatus" ,
2020-07-07 10:10:14 +00:00
"onCommand:rust-analyzer.memoryUsage" ,
2020-07-01 12:57:59 +00:00
"onCommand:rust-analyzer.reloadWorkspace" ,
2019-03-13 13:14:30 +00:00
"workspaceContains:**/Cargo.toml"
2018-08-13 10:46:05 +00:00
] ,
2020-05-20 18:03:49 +00:00
"main" : "./out/src/main" ,
2018-08-27 19:52:43 +00:00
"contributes" : {
"taskDefinitions" : [
{
"type" : "cargo" ,
"required" : [
"command"
] ,
"properties" : {
"label" : {
"type" : "string"
} ,
"command" : {
"type" : "string"
} ,
"args" : {
2020-03-23 23:11:36 +00:00
"type" : "array" ,
"items" : {
"type" : "string"
}
2018-08-27 19:52:43 +00:00
} ,
"env" : {
2020-03-23 23:11:36 +00:00
"type" : "object" ,
"patternProperties" : {
".+" : {
"type" : "string"
}
}
2018-08-27 19:52:43 +00:00
}
}
}
] ,
"commands" : [
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.syntaxTree" ,
2019-03-03 19:21:40 +00:00
"title" : "Show Syntax Tree" ,
2019-01-29 17:16:14 +00:00
"category" : "Rust Analyzer"
2018-08-27 19:52:43 +00:00
} ,
2020-12-28 18:29:58 +00:00
{
"command" : "rust-analyzer.viewHir" ,
"title" : "View Hir" ,
"category" : "Rust Analyzer"
} ,
2019-11-19 17:06:10 +00:00
{
"command" : "rust-analyzer.expandMacro" ,
"title" : "Expand macro recursively" ,
"category" : "Rust Analyzer"
} ,
2018-08-27 19:52:43 +00:00
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.matchingBrace" ,
2019-01-29 17:16:14 +00:00
"title" : "Find matching brace" ,
"category" : "Rust Analyzer"
2018-08-27 19:52:43 +00:00
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.parentModule" ,
2019-01-29 17:16:14 +00:00
"title" : "Locate parent module" ,
"category" : "Rust Analyzer"
2018-08-27 19:52:43 +00:00
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.joinLines" ,
2019-01-29 17:16:14 +00:00
"title" : "Join lines" ,
"category" : "Rust Analyzer"
2018-08-27 19:52:43 +00:00
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.run" ,
2019-01-29 17:16:14 +00:00
"title" : "Run" ,
"category" : "Rust Analyzer"
2019-01-22 21:15:03 +00:00
} ,
2020-05-11 13:06:57 +00:00
{
"command" : "rust-analyzer.debug" ,
"title" : "Debug" ,
"category" : "Rust Analyzer"
} ,
2020-05-11 15:00:15 +00:00
{
"command" : "rust-analyzer.newDebugConfig" ,
"title" : "Generate launch configuration" ,
"category" : "Rust Analyzer"
} ,
2019-01-22 21:15:03 +00:00
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.analyzerStatus" ,
2019-01-29 17:16:14 +00:00
"title" : "Status" ,
"category" : "Rust Analyzer"
2019-01-25 16:11:58 +00:00
} ,
2020-07-07 10:10:14 +00:00
{
"command" : "rust-analyzer.memoryUsage" ,
"title" : "Memory Usage (Clears Database)" ,
"category" : "Rust Analyzer"
} ,
2019-01-25 16:11:58 +00:00
{
2020-07-01 12:57:59 +00:00
"command" : "rust-analyzer.reloadWorkspace" ,
"title" : "Reload workspace" ,
2019-01-29 17:16:14 +00:00
"category" : "Rust Analyzer"
2019-04-15 19:41:27 +00:00
} ,
{
"command" : "rust-analyzer.reload" ,
"title" : "Restart server" ,
"category" : "Rust Analyzer"
2020-02-02 01:21:04 +00:00
} ,
2020-09-23 07:50:34 +00:00
{
"command" : "rust-analyzer.updateGithubToken" ,
"title" : "Update Github API token" ,
"category" : "Rust Analyzer"
} ,
2020-02-02 01:21:04 +00:00
{
"command" : "rust-analyzer.onEnter" ,
"title" : "Enhanced enter key" ,
"category" : "Rust Analyzer"
2020-02-10 22:45:38 +00:00
} ,
{
"command" : "rust-analyzer.ssr" ,
"title" : "Structural Search Replace" ,
"category" : "Rust Analyzer"
2020-02-21 02:04:03 +00:00
} ,
{
"command" : "rust-analyzer.serverVersion" ,
"title" : "Show RA Version" ,
"category" : "Rust Analyzer"
2020-05-25 00:47:33 +00:00
} ,
{
"command" : "rust-analyzer.toggleInlayHints" ,
"title" : "Toggle inlay hints" ,
"category" : "Rust Analyzer"
2020-08-30 08:02:29 +00:00
} ,
{
"command" : "rust-analyzer.openDocs" ,
"title" : "Open docs under cursor" ,
"category" : "Rust Analyzer"
2020-11-13 01:48:07 +00:00
} ,
{
"command" : "rust-analyzer.openCargoToml" ,
"title" : "Open Cargo.toml" ,
"category" : "Rust Analyzer"
2018-08-27 19:52:43 +00:00
}
] ,
"keybindings" : [
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.parentModule" ,
2020-04-13 10:13:55 +00:00
"key" : "ctrl+shift+u" ,
2018-08-27 19:52:43 +00:00
"when" : "editorTextFocus && editorLangId == rust"
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.matchingBrace" ,
2018-08-27 19:52:43 +00:00
"key" : "ctrl+shift+m" ,
"when" : "editorTextFocus && editorLangId == rust"
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.joinLines" ,
2018-08-27 19:52:43 +00:00
"key" : "ctrl+shift+j" ,
"when" : "editorTextFocus && editorLangId == rust"
}
2018-08-13 10:46:05 +00:00
] ,
2018-09-29 19:27:41 +00:00
"configuration" : {
"type" : "object" ,
2018-10-06 20:53:12 +00:00
"title" : "Rust Analyzer" ,
2018-09-29 19:27:41 +00:00
"properties" : {
2020-06-18 19:20:13 +00:00
"rust-analyzer.cargoRunner" : {
"type" : [
"null" ,
"string"
] ,
"default" : null ,
"description" : "Custom cargo runner extension ID."
} ,
2020-07-02 16:47:40 +00: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-22 00:15:50 +00:00
"markdownDescription" : "Environment variables passed to the runnable launched using `Test` or `Debug` lens or `rust-analyzer.run` command."
2020-07-02 16:47:40 +00:00
} ,
2020-05-08 07:28:15 +00:00
"rust-analyzer.inlayHints.enable" : {
"type" : "boolean" ,
"default" : true ,
2020-12-22 00:15:50 +00:00
"description" : "Whether to show inlay hints."
2020-05-08 07:28:15 +00:00
} ,
2020-04-02 09:55:04 +00:00
"rust-analyzer.updates.channel" : {
"type" : "string" ,
"enum" : [
"stable" ,
"nightly"
] ,
"default" : "stable" ,
"markdownEnumDescriptions" : [
2020-12-22 00:15:50 +00: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 09:55:04 +00:00
] ,
2020-12-22 00:15:50 +00: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 09:55:04 +00:00
} ,
"rust-analyzer.updates.askBeforeDownload" : {
"type" : "boolean" ,
"default" : true ,
2020-12-22 00:15:50 +00:00
"description" : "Whether to ask for permission before downloading any files from the Internet."
2020-04-02 09:55:04 +00:00
} ,
2021-01-04 15:39:15 +00:00
"rust-analyzer.server.path" : {
2020-04-02 09:55:04 +00:00
"type" : [
"null" ,
"string"
] ,
"default" : null ,
2020-12-22 00:15:50 +00: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 09:55:04 +00:00
} ,
2020-12-30 09:17:25 +00: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 09:55:04 +00:00
"rust-analyzer.trace.server" : {
"type" : "string" ,
"scope" : "window" ,
"enum" : [
"off" ,
"messages" ,
"verbose"
] ,
"enumDescriptions" : [
"No traces" ,
"Error only" ,
"Full log"
] ,
"default" : "off" ,
2020-12-22 00:15:50 +00:00
"description" : "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users)."
2020-04-02 09:55:04 +00:00
} ,
"rust-analyzer.trace.extension" : {
2020-12-22 00:15:50 +00:00
"description" : "Enable logging of VS Code extensions itself." ,
2020-04-02 09:55:04 +00:00
"type" : "boolean" ,
"default" : false
2020-04-12 16:05:33 +00:00
} ,
2020-04-29 10:10:42 +00:00
"rust-analyzer.debug.engine" : {
2020-04-29 11:13:57 +00:00
"type" : "string" ,
2020-04-29 10:10:42 +00:00
"enum" : [
2020-04-29 11:13:57 +00:00
"auto" ,
"vadimcn.vscode-lldb" ,
"ms-vscode.cpptools"
2020-04-29 10:10:42 +00:00
] ,
2020-04-29 11:13:57 +00:00
"default" : "auto" ,
2020-05-06 15:22:24 +00:00
"description" : "Preferred debug engine." ,
2020-04-29 11:13:57 +00:00
"markdownEnumDescriptions" : [
2020-04-30 12:25:04 +00: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 11:13:57 +00: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 10:10:42 +00:00
} ,
2020-04-29 11:13:57 +00:00
"rust-analyzer.debug.sourceFileMap" : {
"type" : "object" ,
2020-04-29 10:10:42 +00:00
"description" : "Optional source file mappings passed to the debug engine." ,
"default" : {
2020-04-29 11:13:57 +00:00
"/rustc/<id>" : "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
2020-04-29 10:10:42 +00:00
}
2020-05-07 14:07:58 +00:00
} ,
2020-05-08 16:22:26 +00:00
"rust-analyzer.debug.openDebugPane" : {
2020-12-22 00:15:50 +00:00
"markdownDescription" : "Whether to open up the `Debug Panel` on debugging start." ,
2020-05-07 14:07:58 +00:00
"type" : "boolean" ,
"default" : false
} ,
"rust-analyzer.debug.engineSettings" : {
"type" : "object" ,
"default" : { } ,
2020-12-22 00:15:50 +00:00
"markdownDescription" : "Optional settings passed to the debug engine. Example: `{ \"lldb\": { \"terminal\":\"external\"} }`"
2020-05-17 16:51:44 +00:00
} ,
2020-12-02 14:31:24 +00: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 07:27:00 +00:00
} ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00:00
"Prefix all import paths with `self` if they don't begin with `self`, `super`, `crate` or a crate name." ,
2020-12-02 14:31:24 +00:00
"Force import paths to be absolute by always starting them with `crate` or the crate name they refer to."
]
2020-05-17 16:51:44 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.callInfo.full" : {
"markdownDescription" : "Show function name and docs in parameter hints." ,
"default" : true ,
"type" : "boolean"
2020-05-17 16:51:44 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.autoreload" : {
2020-12-22 00:15:50 +00:00
"markdownDescription" : "Automatically refresh project info via `cargo metadata` on `Cargo.toml` changes." ,
2020-12-02 14:31:24 +00:00
"default" : true ,
"type" : "boolean"
2020-06-03 11:15:54 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.allFeatures" : {
"markdownDescription" : "Activate all available features." ,
"default" : false ,
"type" : "boolean"
2020-09-01 13:33:02 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.features" : {
"markdownDescription" : "List of features to activate." ,
"default" : [ ] ,
"type" : "array" ,
"items" : {
"type" : "string"
}
2020-06-03 11:15:54 +00:00
} ,
2020-12-02 14:31:24 +00: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 12:48:38 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.noDefaultFeatures" : {
"markdownDescription" : "Do not activate the `default` feature." ,
"default" : false ,
"type" : "boolean"
2020-06-06 11:30:29 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.target" : {
"markdownDescription" : "Compilation target (target triple)." ,
"default" : null ,
"type" : [
"null" ,
"string"
]
2020-06-10 20:01:19 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.cargo.noSysroot" : {
"markdownDescription" : "Internal config for debugging, disables loading of sysroot crates." ,
"default" : false ,
"type" : "boolean"
2020-06-06 11:30:29 +00:00
} ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00:00
"markdownDescription" : "Check with all features (will be passed as `--all-features`). Defaults to `#rust-analyzer.cargo.allFeatures#`." ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00:00
"markdownDescription" : "Check for a specific target. Defaults to `#rust-analyzer.cargo.target#`." ,
2020-12-02 14:31:24 +00:00
"default" : null ,
"type" : [
"null" ,
"string"
]
} ,
"rust-analyzer.checkOnSave.extraArgs" : {
"markdownDescription" : "Extra arguments for `cargo check`." ,
"default" : [ ] ,
2020-06-03 12:48:38 +00:00
"type" : "array" ,
"items" : {
2020-12-02 14:31:24 +00:00
"type" : "string"
}
} ,
"rust-analyzer.checkOnSave.features" : {
2020-12-22 00:15:50 +00:00
"markdownDescription" : "List of features to activate. Defaults to `#rust-analyzer.cargo.features#`." ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00: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 14:31:24 +00:00
"default" : true ,
"type" : "boolean"
2020-06-03 12:48:38 +00:00
} ,
2020-07-24 15:39:16 +00:00
"rust-analyzer.diagnostics.enable" : {
2020-12-02 14:31:24 +00:00
"markdownDescription" : "Whether to show native rust-analyzer diagnostics." ,
2020-07-24 15:39:16 +00:00
"default" : true ,
2020-12-02 14:31:24 +00:00
"type" : "boolean"
2020-07-24 15:39:16 +00:00
} ,
"rust-analyzer.diagnostics.enableExperimental" : {
2020-12-02 14:31:24 +00:00
"markdownDescription" : "Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual." ,
2020-07-24 15:39:16 +00:00
"default" : true ,
2020-12-02 14:31:24 +00:00
"type" : "boolean"
2020-07-24 15:39:16 +00:00
} ,
2020-08-18 14:03:15 +00:00
"rust-analyzer.diagnostics.disabled" : {
2020-12-02 14:31:24 +00:00
"markdownDescription" : "List of rust-analyzer diagnostics to disable." ,
"default" : [ ] ,
2020-06-16 20:26:33 +00:00
"type" : "array" ,
"items" : {
"type" : "string"
} ,
2020-12-02 14:31:24 +00:00
"uniqueItems" : true
2020-06-16 20:26:33 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.diagnostics.warningsAsHint" : {
2020-12-22 00:15:50 +00: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 14:31:24 +00:00
"default" : [ ] ,
2020-06-16 20:26:33 +00:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 14:31:24 +00:00
}
2020-08-12 13:06:55 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.diagnostics.warningsAsInfo" : {
2020-12-22 00:15:50 +00: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 14:31:24 +00:00
"default" : [ ] ,
2020-08-12 13:06:55 +00:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 14:31:24 +00:00
}
2020-09-12 09:55:01 +00:00
} ,
2020-12-02 14:31:24 +00:00
"rust-analyzer.files.watcher" : {
"markdownDescription" : "Controls file watching implementation." ,
"default" : "client" ,
"type" : "string"
2020-09-05 13:21:14 +00:00
} ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00:00
"markdownDescription" : "Maximum length for inlay hints. Default is unlimited." ,
2020-12-02 14:31:24 +00:00
"default" : null ,
"type" : [
"null" ,
"integer"
2020-10-05 15:41:49 +00:00
] ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00: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 14:31:24 +00:00
"default" : [ ] ,
"type" : "array" ,
"items" : {
"type" : [
"string" ,
"object"
]
}
} ,
"rust-analyzer.lruCapacity" : {
2020-12-22 00:15:50 +00:00
"markdownDescription" : "Number of syntax trees rust-analyzer keeps in memory. Defaults to 128." ,
2020-12-02 14:31:24 +00:00
"default" : null ,
"type" : [
"null" ,
"integer"
2020-10-05 15:41:49 +00:00
] ,
2020-12-02 14:31:24 +00: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-22 00:15:50 +00:00
"markdownDescription" : "Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be enabled." ,
2020-12-02 14:31:24 +00:00
"default" : false ,
"type" : "boolean"
2020-10-05 15:41:49 +00:00
} ,
2021-01-06 10:54:28 +00: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 13:21:14 +00:00
"rust-analyzer.runnables.overrideCargo" : {
2020-12-02 14:31:24 +00:00
"markdownDescription" : "Command to be executed instead of 'cargo' for runnables." ,
"default" : null ,
2020-09-05 13:21:14 +00:00
"type" : [
"null" ,
"string"
2020-12-02 14:31:24 +00:00
]
2020-09-05 13:21:14 +00:00
} ,
"rust-analyzer.runnables.cargoExtraArgs" : {
2020-12-22 00:15:50 +00: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 14:31:24 +00:00
"default" : [ ] ,
2020-09-05 13:21:14 +00:00
"type" : "array" ,
"items" : {
"type" : "string"
2020-12-02 14:31:24 +00:00
}
2020-11-10 20:50:05 +00:00
} ,
2020-11-12 17:46:47 +00:00
"rust-analyzer.rustcSource" : {
2020-12-02 14:31:24 +00:00
"markdownDescription" : "Path to the rust compiler sources, for usage in rustc_private projects." ,
"default" : null ,
2020-11-12 17:46:47 +00:00
"type" : [
"null" ,
"string"
2020-12-02 14:31:24 +00:00
]
} ,
"rust-analyzer.rustfmt.extraArgs" : {
2020-12-22 00:15:50 +00:00
"markdownDescription" : "Additional arguments to `rustfmt`." ,
2020-12-02 14:31:24 +00: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 20:50:05 +00:00
"default" : null ,
2020-12-02 14:31:24 +00:00
"type" : [
"null" ,
"array"
] ,
"items" : {
"type" : "string"
}
2020-04-02 10:47:58 +00:00
}
2018-09-29 19:27:41 +00:00
}
} ,
2018-12-30 17:24:07 +00:00
"problemPatterns" : [
2018-08-27 19:52:43 +00:00
{
"name" : "rustc" ,
2018-12-30 17:24:07 +00:00
"patterns" : [
2018-08-27 19:52:43 +00:00
{
2018-12-30 17:24:07 +00:00
"regexp" : "^(warning|warn|error)(?:\\[(.*?)\\])?: (.*)$" ,
2018-08-27 19:52:43 +00:00
"severity" : 1 ,
2018-12-30 17:24:07 +00:00
"code" : 2 ,
"message" : 3
2018-08-27 19:52:43 +00:00
} ,
{
2018-12-30 17:24:07 +00:00
"regexp" : "^[\\s->=]*(.*?):(\\d*):(\\d*)\\s*$" ,
"file" : 1 ,
"line" : 2 ,
"column" : 3
2018-08-27 19:52:43 +00:00
}
]
2019-12-15 16:12:52 +00:00
} ,
{
"name" : "rustc-json" ,
2019-12-15 16:19:41 +00: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 19:52:43 +00:00
}
2018-12-30 17:24:07 +00:00
] ,
2020-04-02 02:38:52 +00:00
"languages" : [
{
"id" : "ra_syntax_tree" ,
"extensions" : [
".rast"
]
2020-12-12 00:31:00 +00:00
} ,
{
"id" : "rust" ,
"extensions" : [
".rs"
] ,
"aliases" : [
"Rust" ,
"rs"
] ,
"configuration" : "language-configuration.json"
2020-04-02 02:38:52 +00:00
}
] ,
"grammars" : [
{
"language" : "ra_syntax_tree" ,
"scopeName" : "source.ra_syntax_tree" ,
"path" : "ra_syntax_tree.tmGrammar.json"
}
] ,
2018-12-30 17:24:07 +00:00
"problemMatchers" : [
{
"name" : "rustc" ,
2020-07-23 05:32:54 +00:00
"owner" : "rustc" ,
"source" : "rustc" ,
2018-12-30 17:24:07 +00:00
"fileLocation" : [
2020-07-23 05:32:54 +00:00
"autoDetect" ,
2018-12-30 17:24:07 +00:00
"${workspaceRoot}"
] ,
2019-02-18 18:12:54 +00:00
"pattern" : "$rustc"
2019-04-14 10:45:36 +00:00
} ,
2019-12-15 16:12:52 +00:00
{
"name" : "rustc-json" ,
2020-07-23 05:32:54 +00:00
"owner" : "rustc" ,
"source" : "rustc" ,
2019-12-15 16:12:52 +00:00
"fileLocation" : [
2020-07-23 05:32:54 +00:00
"autoDetect" ,
2019-12-15 16:12:52 +00:00
"${workspaceRoot}"
] ,
"pattern" : "$rustc-json"
} ,
2019-04-14 10:45:36 +00:00
{
"name" : "rustc-watch" ,
2020-07-23 05:32:54 +00:00
"owner" : "rustc" ,
"source" : "rustc" ,
2019-04-14 10:45:36 +00:00
"fileLocation" : [
2020-07-23 05:32:54 +00:00
"autoDetect" ,
2019-04-14 10:45:36 +00:00
"${workspaceRoot}"
] ,
"background" : {
"beginsPattern" : "^\\[Running\\b" ,
"endsPattern" : "^\\[Finished running\\b"
} ,
"pattern" : "$rustc"
2018-12-30 17:24:07 +00:00
}
2019-05-21 11:04:54 +00:00
] ,
"colors" : [
{
2020-08-25 23:37:58 +00: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 13:38:21 +00:00
"defaults" : {
"dark" : "#A0A0A0F0" ,
"light" : "#747474" ,
"highContrast" : "#BEBEBE"
}
2020-04-01 22:20:08 +00:00
} ,
2020-08-25 23:37:58 +00: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 22:20:08 +00: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 11:04:54 +00:00
}
2020-02-26 17:20:38 +00:00
] ,
2020-02-26 18:39:32 +00:00
"semanticTokenTypes" : [
{
2020-02-28 11:06:54 +00:00
"id" : "attribute" ,
"description" : "Style for attributes"
2020-02-26 22:16:57 +00:00
} ,
2020-05-25 08:39:56 +00:00
{
"id" : "boolean" ,
"description" : "Style for boolean literals" ,
"superType" : "keyword"
} ,
2020-02-26 22:16:57 +00:00
{
2020-02-28 11:06:54 +00:00
"id" : "builtinType" ,
2020-04-03 10:24:11 +00:00
"description" : "Style for builtin types" ,
"superType" : "type"
2020-02-28 11:06:54 +00:00
} ,
{
"id" : "lifetime" ,
"description" : "Style for lifetimes"
} ,
{
2020-05-25 08:51:56 +00:00
"id" : "selfKeyword" ,
"description" : "Style for the self keyword" ,
"superType" : "keyword"
} ,
{
2020-02-28 11:06:54 +00:00
"id" : "typeAlias" ,
2020-04-03 10:24:11 +00:00
"description" : "Style for type aliases" ,
"superType" : "type"
2020-02-28 11:06:54 +00:00
} ,
{
"id" : "union" ,
2020-04-03 10:24:11 +00:00
"description" : "Style for C-style untagged unions" ,
"superType" : "type"
2020-04-18 18:59:22 +00:00
} ,
{
"id" : "unresolvedReference" ,
"description" : "Style for names which can not be resolved due to compilation errors"
2020-05-04 11:10:59 +00:00
} ,
{
"id" : "formatSpecifier" ,
"description" : "Style for {} placeholders in format strings"
2020-02-26 18:39:32 +00:00
}
] ,
"semanticTokenModifiers" : [
2020-05-13 04:58:51 +00:00
{
"id" : "attribute" ,
"description" : "Style for elements within attributes"
} ,
2020-02-26 18:39:32 +00:00
{
2020-02-28 11:06:54 +00:00
"id" : "constant" ,
"description" : "Style for compile-time constants"
2020-02-26 18:39:32 +00:00
} ,
{
2020-04-05 12:46:07 +00:00
"id" : "controlFlow" ,
2020-02-28 11:06:54 +00:00
"description" : "Style for control flow keywords"
2020-02-26 18:39:32 +00:00
} ,
{
2020-02-28 11:06:54 +00:00
"id" : "mutable" ,
"description" : "Style for mutable bindings"
2020-02-26 18:39:32 +00:00
} ,
{
2020-02-28 11:06:54 +00:00
"id" : "unsafe" ,
"description" : "Style for unsafe operations"
2020-09-15 21:53:37 +00:00
} ,
{
"id" : "consuming" ,
"description" : "Style for non-Copy lvalues consumed by method/function call"
2020-10-16 12:06:52 +00:00
} ,
{
"id" : "callable" ,
"description" : "Style for variables/parameters that can be used in call expressions"
2020-02-26 18:39:32 +00:00
}
] ,
2020-04-02 13:52:25 +00:00
"semanticTokenScopes" : [
2020-02-27 17:31:54 +00:00
{
2020-04-02 13:52:25 +00:00
"language" : "rust" ,
"scopes" : {
"attribute" : [
2020-05-12 15:31:43 +00:00
"meta.attribute.rust"
2020-04-02 13:52:25 +00:00
] ,
2020-05-13 04:58:51 +00:00
"function.attribute" : [
"entity.name.function.attribute.rust"
] ,
2020-05-21 16:40:52 +00:00
"boolean" : [
"constant.language.boolean.rust"
] ,
2020-04-02 13:52:25 +00:00
"builtinType" : [
2020-05-12 15:31:43 +00:00
"support.type.primitive.rust"
2020-04-02 13:52:25 +00:00
] ,
"lifetime" : [
2020-05-10 20:32:42 +00:00
"storage.modifier.lifetime.rust"
2020-04-02 13:52:25 +00:00
] ,
"typeAlias" : [
2020-05-12 15:31:43 +00:00
"entity.name.type.typeAlias.rust"
2020-04-02 13:52:25 +00:00
] ,
"union" : [
2020-05-12 15:31:43 +00:00
"entity.name.type.union.rust"
2020-04-02 13:52:25 +00:00
] ,
2020-05-07 16:46:58 +00:00
"struct" : [
2020-05-12 15:31:43 +00:00
"entity.name.type.struct.rust"
2020-05-07 16:46:58 +00:00
] ,
2020-05-06 17:03:17 +00:00
"keyword" : [
2020-05-12 15:31:43 +00:00
"keyword.other.rust"
2020-05-06 17:03:17 +00:00
] ,
"keyword.controlFlow" : [
2020-05-12 15:31:43 +00:00
"keyword.control.rust"
2020-05-06 17:03:17 +00:00
] ,
2020-04-02 13:52:25 +00:00
"variable.constant" : [
2020-05-12 15:31:43 +00:00
"variable.other.constant.rust"
2020-05-09 17:23:32 +00:00
] ,
"formatSpecifier" : [
2020-05-12 15:31:43 +00:00
"punctuation.section.embedded.rust"
2020-05-09 20:19:29 +00:00
] ,
"*.mutable" : [
"markup.underline"
2020-04-02 13:52:25 +00:00
]
2020-02-28 11:06:54 +00:00
}
2020-02-26 17:20:38 +00:00
}
2020-05-27 16:40:13 +00:00
] ,
"menus" : {
"commandPalette" : [
{
"command" : "rust-analyzer.syntaxTree" ,
"when" : "inRustProject"
} ,
2020-12-28 18:29:58 +00:00
{
"command" : "rust-analyzer.viewHir" ,
"when" : "inRustProject"
} ,
2020-05-27 16:40:13 +00: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 10:10:14 +00:00
{
"command" : "rust-analyzer.memoryUsage" ,
"when" : "inRustProject"
} ,
2020-05-27 16:40:13 +00:00
{
2020-07-01 12:57:59 +00:00
"command" : "rust-analyzer.reloadWorkspace" ,
2020-05-27 16:40:13 +00:00
"when" : "inRustProject"
} ,
{
"command" : "rust-analyzer.reload" ,
"when" : "inRustProject"
} ,
2020-09-23 07:50:34 +00:00
{
"command" : "rust-analyzer.updateGithubToken" ,
"when" : "inRustProject"
} ,
2020-05-27 16:40:13 +00: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 08:02:29 +00:00
} ,
{
"command" : "rust-analyzer.openDocs" ,
"when" : "inRustProject"
2020-11-13 01:48:07 +00:00
} ,
{
"command" : "rust-analyzer.openCargoToml" ,
"when" : "inRustProject"
2020-05-27 16:40:13 +00:00
}
]
}
2018-08-27 19:52:43 +00:00
}
2020-10-06 22:05:20 +00:00
}