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-02-14 14:29:19 +00:00
"//" : "The real version is in release.yaml, this one just needs to be bigger" ,
2020-02-16 01:08:36 +00:00
"version" : "0.2.20200211-dev" ,
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-03-10 17:31:13 +00:00
"vscode" : "^1.43.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-02-03 17:03:36 +00:00
"watch" : "tsc --watch" ,
2020-02-27 09:40:53 +00:00
"lint" : "tsfmt --verify && eslint -c .eslintrc.js --ext ts ./src" ,
2020-02-27 10:09:48 +00:00
"fix" : " tsfmt -r && eslint -c .eslintrc.js --ext ts ./src --fix"
2018-08-27 19:52:43 +00:00
} ,
"dependencies" : {
2020-03-03 13:05:59 +00:00
"jsonc-parser" : "^2.2.1" ,
2020-02-07 01:11:24 +00:00
"node-fetch" : "^2.6.0" ,
2020-02-17 23:57:19 +00:00
"vscode-languageclient" : "^6.1.1"
2018-08-27 19:52:43 +00:00
} ,
"devDependencies" : {
2020-02-03 15:49:25 +00:00
"@rollup/plugin-commonjs" : "^11.0.2" ,
"@rollup/plugin-node-resolve" : "^7.1.1" ,
2020-03-03 13:05:59 +00:00
"@types/node" : "^12.12.29" ,
"@types/node-fetch" : "^2.5.5" ,
2020-03-10 17:31:13 +00:00
"@types/vscode" : "^1.43.0" ,
2020-03-03 13:05:59 +00:00
"@typescript-eslint/eslint-plugin" : "^2.22.0" ,
"@typescript-eslint/parser" : "^2.22.0" ,
2020-02-17 22:42:25 +00:00
"eslint" : "^6.8.0" ,
2020-03-06 22:22:58 +00:00
"rollup" : "^1.32.1" ,
2020-03-03 13:05:59 +00:00
"tslib" : "^1.11.1" ,
"typescript" : "^3.8.3" ,
2020-02-07 01:11:24 +00:00
"typescript-formatter" : "^7.2.2" ,
2020-03-03 13:05:59 +00:00
"vsce" : "^1.74.0"
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" ,
2019-03-13 13:14:30 +00:00
"onCommand:rust-analyzer.collectGarbage" ,
"workspaceContains:**/Cargo.toml"
2018-08-13 10:46:05 +00:00
] ,
2019-12-30 11:19:58 +00:00
"main" : "./out/main" ,
2018-08-27 19:52:43 +00:00
"contributes" : {
"taskDefinitions" : [
{
"type" : "cargo" ,
"required" : [
"command"
] ,
"properties" : {
"label" : {
"type" : "string"
} ,
"command" : {
"type" : "string"
} ,
"args" : {
"type" : "array"
} ,
"env" : {
"type" : "object"
}
}
}
] ,
"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
} ,
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
} ,
{
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
} ,
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.collectGarbage" ,
2019-01-29 17:16:14 +00:00
"title" : "Run garbage collection" ,
"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
} ,
{
"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"
2018-08-27 19:52:43 +00:00
}
] ,
"keybindings" : [
{
2019-01-28 11:43:07 +00:00
"command" : "rust-analyzer.parentModule" ,
2018-08-27 19:52:43 +00:00
"key" : "ctrl+u" ,
"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"
} ,
2020-02-02 14:58:53 +00:00
{
"command" : "rust-analyzer.onEnter" ,
"key" : "enter" ,
2020-02-25 21:20:07 +00:00
"when" : "editorTextFocus && !suggestWidgetVisible && editorLangId == rust && !vim.active || vim.mode == 'Insert' && editorTextFocus && !suggestWidgetVisible && editorLangId == rust"
2018-08-27 19:52:43 +00:00
}
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-02-26 15:03:30 +00:00
"rust-analyzer.highlighting.semanticTokens" : {
"type" : "boolean" ,
"default" : false ,
"description" : "Use proposed semantic tokens API for syntax highlighting"
} ,
2019-01-28 11:43:07 +00:00
"rust-analyzer.highlightingOn" : {
2018-09-29 19:27:41 +00:00
"type" : "boolean" ,
2019-02-26 06:56:11 +00:00
"default" : false ,
2018-09-29 19:27:41 +00:00
"description" : "Highlight Rust code (overrides built-in syntax highlighting)"
2018-12-20 12:05:41 +00:00
} ,
2019-05-27 09:26:15 +00:00
"rust-analyzer.rainbowHighlightingOn" : {
"type" : "boolean" ,
"default" : false ,
"description" : "When highlighting Rust code, use a unique color per identifier"
} ,
2019-08-22 11:44:16 +00:00
"rust-analyzer.featureFlags" : {
"type" : "object" ,
"default" : { } ,
2020-02-27 20:04:57 +00:00
"description" : "Fine grained feature flags to disable annoying features" ,
"properties" : {
"lsp.diagnostics" : {
"type" : "boolean" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Whether to show diagnostics from `cargo check`"
2020-02-27 20:04:57 +00:00
} ,
"completion.insertion.add-call-parenthesis" : {
"type" : "boolean" ,
"description" : "Whether to add parenthesis when completing functions"
} ,
2020-03-06 17:38:56 +00:00
"completion.insertion.add-argument-snippets" : {
2020-03-06 16:51:10 +00:00
"type" : "boolean" ,
"description" : "Whether to add argument snippets when completing functions"
} ,
2020-02-27 20:04:57 +00:00
"completion.enable-postfix" : {
"type" : "boolean" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Whether to show postfix snippets like `dbg`, `if`, `not`, etc."
2020-02-27 20:04:57 +00:00
} ,
2020-03-06 17:32:40 +00:00
"call-info.full" : {
"type" : "boolean" ,
"description" : "Show function name and docs in parameter hints"
} ,
2020-02-27 20:04:57 +00:00
"notifications.workspace-loaded" : {
"type" : "boolean" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Whether to show `workspace loaded` message"
2020-02-27 20:04:57 +00:00
} ,
"notifications.cargo-toml-not-found" : {
"type" : "boolean" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Whether to show `can't find Cargo.toml` error message"
2020-02-27 20:04:57 +00:00
}
}
2019-03-06 09:34:38 +00:00
} ,
2020-03-09 08:59:36 +00:00
"rust-analyzer.updates.askBeforeDownload" : {
2020-03-07 21:59:33 +00:00
"type" : "boolean" ,
2020-03-08 16:58:02 +00:00
"default" : true ,
"description" : "Whether to ask for permission before downloading any files from the Internet"
2020-03-07 21:59:33 +00:00
} ,
2020-03-10 13:58:15 +00:00
"rust-analyzer.additionalOutDirs" : {
"type" : "object" ,
"default" : { } ,
"markdownDescription" : "Fine grained controls for OUT_DIR `env!(\"OUT_DIR\")` variable. e.g. `{\"foo\":\"/path/to/foo\"}`, "
} ,
2020-02-18 11:35:44 +00:00
"rust-analyzer.serverPath" : {
2019-01-05 15:28:41 +00:00
"type" : [
2020-02-08 02:22:44 +00:00
"null" ,
2019-01-05 15:28:41 +00:00
"string"
] ,
2020-02-08 02:22:44 +00:00
"default" : null ,
2020-02-18 11:33:16 +00:00
"description" : "Path to rust-analyzer executable (points to bundled binary by default)"
2019-01-05 15:28:41 +00:00
} ,
2019-08-06 11:34:28 +00:00
"rust-analyzer.excludeGlobs" : {
"type" : "array" ,
2020-02-13 20:47:31 +00:00
"items" : {
"type" : "string"
} ,
2019-08-21 14:30:58 +00:00
"default" : [ ] ,
2019-08-06 11:34:28 +00:00
"description" : "Paths to exclude from analysis"
} ,
2020-02-17 08:44:58 +00:00
"rust-analyzer.rustfmtArgs" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"default" : [ ] ,
"description" : "Additional arguments to rustfmt"
} ,
2019-09-06 13:25:24 +00:00
"rust-analyzer.useClientWatching" : {
"type" : "boolean" ,
2019-12-17 11:41:44 +00:00
"default" : true ,
2019-09-06 13:25:24 +00:00
"description" : "client provided file watching instead of notify watching."
} ,
2019-12-25 19:23:44 +00:00
"rust-analyzer.cargo-watch.enable" : {
"type" : "boolean" ,
"default" : true ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Run `cargo check` for diagnostics on save"
2019-12-25 19:23:44 +00:00
} ,
"rust-analyzer.cargo-watch.arguments" : {
2019-10-17 13:22:39 +00:00
"type" : "array" ,
2020-02-13 20:47:31 +00:00
"items" : {
"type" : "string"
} ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "`cargo-watch` arguments. (e.g: `--features=\"shumway,pdf\"` will run as `cargo watch -x \"check --features=\"shumway,pdf\"\"` )" ,
2019-10-17 13:22:39 +00:00
"default" : [ ]
} ,
2019-12-25 19:23:44 +00:00
"rust-analyzer.cargo-watch.command" : {
2019-12-25 15:50:38 +00:00
"type" : "string" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "`cargo-watch` command. (e.g: `clippy` will run as `cargo watch -x clippy` )" ,
2019-12-25 15:50:38 +00:00
"default" : "check"
2019-12-15 17:32:13 +00:00
} ,
2019-12-25 19:23:44 +00:00
"rust-analyzer.cargo-watch.allTargets" : {
"type" : "boolean" ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Check all targets and tests (will be passed as `--all-targets`)" ,
2019-12-25 19:23:44 +00:00
"default" : true
} ,
2019-01-28 11:43:07 +00:00
"rust-analyzer.trace.server" : {
2018-12-20 12:05:41 +00:00
"type" : "string" ,
"scope" : "window" ,
"enum" : [
"off" ,
"messages" ,
"verbose"
] ,
2019-04-02 06:43:02 +00:00
"enumDescriptions" : [
"No traces" ,
"Error only" ,
"Full log"
] ,
2018-12-20 12:05:41 +00:00
"default" : "off" ,
2020-02-18 11:33:16 +00:00
"description" : "Trace requests to the rust-analyzer"
2019-04-02 05:07:40 +00:00
} ,
2020-02-21 14:59:46 +00:00
"rust-analyzer.trace.extension" : {
"description" : "Enable logging of VS Code extensions itself" ,
"type" : "boolean" ,
"default" : false
} ,
2019-06-07 17:49:29 +00:00
"rust-analyzer.lruCapacity" : {
2020-02-17 08:44:58 +00:00
"type" : [
"null" ,
"integer"
] ,
2019-06-07 17:49:29 +00:00
"default" : null ,
2020-02-16 16:00:49 +00:00
"minimum" : 0 ,
"exclusiveMinimum" : true ,
2019-06-07 17:49:29 +00:00
"description" : "Number of syntax trees rust-analyzer keeps in memory"
2019-07-23 13:38:21 +00:00
} ,
"rust-analyzer.displayInlayHints" : {
"type" : "boolean" ,
"default" : true ,
2020-01-14 17:02:01 +00:00
"description" : "Display additional type and parameter information in the editor"
2019-10-18 11:40:03 +00:00
} ,
"rust-analyzer.maxInlayHintLength" : {
2020-02-17 08:44:58 +00:00
"type" : [
"null" ,
"integer"
] ,
2019-10-18 11:40:03 +00:00
"default" : 20 ,
2020-02-16 14:48:17 +00:00
"minimum" : 0 ,
"exclusiveMinimum" : true ,
2019-10-18 11:40:03 +00:00
"description" : "Maximum length for inlay hints"
2019-12-13 10:16:34 +00:00
} ,
"rust-analyzer.cargoFeatures.noDefaultFeatures" : {
"type" : "boolean" ,
"default" : false ,
2020-03-08 21:46:42 +00:00
"markdownDescription" : "Do not activate the `default` feature"
2019-12-13 10:16:34 +00:00
} ,
"rust-analyzer.cargoFeatures.allFeatures" : {
"type" : "boolean" ,
2019-12-13 16:48:47 +00:00
"default" : true ,
2019-12-13 10:16:34 +00:00
"description" : "Activate all available features"
} ,
"rust-analyzer.cargoFeatures.features" : {
"type" : "array" ,
2020-02-13 20:47:31 +00:00
"items" : {
"type" : "string"
} ,
2019-12-13 10:16:34 +00:00
"default" : [ ] ,
"description" : "List of features to activate"
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
] ,
"problemMatchers" : [
{
"name" : "rustc" ,
"fileLocation" : [
"relative" ,
"${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" ,
"fileLocation" : [
"relative" ,
"${workspaceRoot}"
] ,
"pattern" : "$rustc-json"
} ,
2019-04-14 10:45:36 +00:00
{
"name" : "rustc-watch" ,
"fileLocation" : [
"relative" ,
"${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" : [
{
2019-12-31 14:42:05 +00:00
"id" : "rust_analyzer.inlayHint" ,
2019-07-23 13:38:21 +00:00
"description" : "Color for inlay hints" ,
"defaults" : {
"dark" : "#A0A0A0F0" ,
"light" : "#747474" ,
"highContrast" : "#BEBEBE"
}
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-02-28 11:06:54 +00:00
"id" : "builtinType" ,
"description" : "Style for builtin types"
} ,
{
"id" : "lifetime" ,
"description" : "Style for lifetimes"
} ,
{
"id" : "typeAlias" ,
"description" : "Style for type aliases"
} ,
{
"id" : "union" ,
"description" : "Style for C-style untagged unions"
2020-02-26 18:39:32 +00:00
}
] ,
"semanticTokenModifiers" : [
{
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-02-28 11:06:54 +00:00
"id" : "control" ,
"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-02-26 18:39:32 +00:00
}
] ,
2020-02-26 17:20:38 +00:00
"semanticTokenStyleDefaults" : [
2020-02-27 17:31:54 +00:00
{
"selector" : "attribute" ,
"scope" : [
"meta.attribute"
]
} ,
2020-02-26 17:20:38 +00:00
{
2020-02-28 11:06:54 +00:00
"selector" : "builtinType" ,
"scope" : [
"support.type.primitive"
]
2020-02-26 22:16:57 +00:00
} ,
{
2020-02-28 11:06:54 +00:00
"selector" : "lifetime" ,
2020-02-26 22:16:57 +00:00
"scope" : [
2020-02-28 11:06:54 +00:00
"entity.name.lifetime.rust"
]
} ,
{
"selector" : "typeAlias" ,
"scope" : [
"entity.name.typeAlias"
]
} ,
{
"selector" : "union" ,
"scope" : [
"entity.name.union"
2020-02-26 22:16:57 +00:00
]
2020-02-27 16:28:59 +00:00
} ,
{
"selector" : "keyword.unsafe" ,
"scope" : [
"keyword.other.unsafe"
]
2020-02-27 17:37:25 +00:00
} ,
{
2020-02-28 11:06:54 +00:00
"selector" : "keyword.control" ,
2020-02-27 17:37:25 +00:00
"scope" : [
2020-02-28 11:06:54 +00:00
"keyword.control"
2020-02-27 17:37:25 +00:00
]
2020-02-28 11:06:54 +00:00
} ,
{
"selector" : "variable.constant" ,
"scope" : [
"entity.name.constant"
]
} ,
{
"selector" : "*.mutable" ,
"light" : {
"fontStyle" : "underline"
} ,
"dark" : {
"fontStyle" : "underline"
} ,
"highContrast" : {
"fontStyle" : "underline"
}
2020-02-26 17:20:38 +00:00
}
2018-08-13 10:46:05 +00:00
]
2018-08-27 19:52:43 +00:00
}
2019-04-19 16:28:14 +00:00
}