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