mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 13:33:31 +00:00
486cb5b79a
After refactoring the config we forgot to set defaults for some properties like workspaceLoaded, callInfo.full, etc. This commit restored them to being turned on by defult, as well added defaults for other props to be more explicit on their defualt value.
564 lines
21 KiB
JSON
564 lines
21 KiB
JSON
{
|
|
"name": "rust-analyzer",
|
|
"displayName": "rust-analyzer",
|
|
"description": "An alternative rust language server to the RLS",
|
|
"preview": true,
|
|
"private": true,
|
|
"icon": "icon.png",
|
|
"version": "0.4.0-dev",
|
|
"releaseTag": null,
|
|
"publisher": "matklad",
|
|
"repository": {
|
|
"url": "https://github.com/rust-analyzer/rust-analyzer.git",
|
|
"type": "git"
|
|
},
|
|
"homepage": "https://rust-analyzer.github.io/",
|
|
"license": "MIT OR Apache-2.0",
|
|
"keywords": [
|
|
"rust"
|
|
],
|
|
"categories": [
|
|
"Programming Languages"
|
|
],
|
|
"engines": {
|
|
"vscode": "^1.43.0"
|
|
},
|
|
"enableProposedApi": true,
|
|
"scripts": {
|
|
"vscode:prepublish": "tsc && rollup -c",
|
|
"package": "vsce package -o rust-analyzer.vsix",
|
|
"watch": "tsc --watch",
|
|
"lint": "tsfmt --verify && eslint -c .eslintrc.js --ext ts ./src",
|
|
"fix": " tsfmt -r && eslint -c .eslintrc.js --ext ts ./src --fix"
|
|
},
|
|
"dependencies": {
|
|
"jsonc-parser": "^2.2.1",
|
|
"node-fetch": "^2.6.0",
|
|
"vscode-languageclient": "6.1.3"
|
|
},
|
|
"devDependencies": {
|
|
"@rollup/plugin-commonjs": "^11.0.2",
|
|
"@rollup/plugin-node-resolve": "^7.1.1",
|
|
"@types/node": "^12.12.34",
|
|
"@types/node-fetch": "^2.5.5",
|
|
"@types/vscode": "^1.43.0",
|
|
"@typescript-eslint/eslint-plugin": "^2.26.0",
|
|
"@typescript-eslint/parser": "^2.26.0",
|
|
"eslint": "^6.8.0",
|
|
"rollup": "^2.3.2",
|
|
"tslib": "^1.11.1",
|
|
"typescript": "^3.8.3",
|
|
"typescript-formatter": "^7.2.2",
|
|
"vsce": "^1.75.0"
|
|
},
|
|
"activationEvents": [
|
|
"onLanguage:rust",
|
|
"onCommand:rust-analyzer.analyzerStatus",
|
|
"onCommand:rust-analyzer.collectGarbage",
|
|
"workspaceContains:**/Cargo.toml"
|
|
],
|
|
"main": "./out/main",
|
|
"contributes": {
|
|
"taskDefinitions": [
|
|
{
|
|
"type": "cargo",
|
|
"required": [
|
|
"command"
|
|
],
|
|
"properties": {
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"env": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
".+": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "rust-analyzer.syntaxTree",
|
|
"title": "Show Syntax Tree",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.expandMacro",
|
|
"title": "Expand macro recursively",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.matchingBrace",
|
|
"title": "Find matching brace",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.parentModule",
|
|
"title": "Locate parent module",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.joinLines",
|
|
"title": "Join lines",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.run",
|
|
"title": "Run",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.analyzerStatus",
|
|
"title": "Status",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.collectGarbage",
|
|
"title": "Run garbage collection",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.reload",
|
|
"title": "Restart server",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.onEnter",
|
|
"title": "Enhanced enter key",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.ssr",
|
|
"title": "Structural Search Replace",
|
|
"category": "Rust Analyzer"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.serverVersion",
|
|
"title": "Show RA Version",
|
|
"category": "Rust Analyzer"
|
|
}
|
|
],
|
|
"keybindings": [
|
|
{
|
|
"command": "rust-analyzer.parentModule",
|
|
"key": "ctrl+u",
|
|
"when": "editorTextFocus && editorLangId == rust"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.matchingBrace",
|
|
"key": "ctrl+shift+m",
|
|
"when": "editorTextFocus && editorLangId == rust"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.joinLines",
|
|
"key": "ctrl+shift+j",
|
|
"when": "editorTextFocus && editorLangId == rust"
|
|
},
|
|
{
|
|
"command": "rust-analyzer.onEnter",
|
|
"key": "enter",
|
|
"when": "editorTextFocus && !suggestWidgetVisible && editorLangId == rust && !vim.active || vim.mode == 'Insert' && editorTextFocus && !suggestWidgetVisible && editorLangId == rust"
|
|
}
|
|
],
|
|
"configuration": {
|
|
"type": "object",
|
|
"title": "Rust Analyzer",
|
|
"properties": {
|
|
"rust-analyzer.diagnostics.enable": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Whether to show native rust-analyzer diagnostics."
|
|
},
|
|
"rust-analyzer.lruCapacity": {
|
|
"type": [
|
|
"null",
|
|
"integer"
|
|
],
|
|
"default": null,
|
|
"minimum": 0,
|
|
"exclusiveMinimum": true,
|
|
"description": "Number of syntax trees rust-analyzer keeps in memory."
|
|
},
|
|
"rust-analyzer.files.watcher": {
|
|
"type": "string",
|
|
"enum": [
|
|
"client",
|
|
"notify"
|
|
],
|
|
"default": "client",
|
|
"description": "Controls file watching implementation."
|
|
},
|
|
"rust-analyzer.files.exclude": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [],
|
|
"description": "Paths to exclude from analysis."
|
|
},
|
|
"rust-analyzer.notifications.workspaceLoaded": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Whether to show `workspace loaded` message."
|
|
},
|
|
"rust-analyzer.notifications.cargoTomlNotFound": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Whether to show `can't find Cargo.toml` error message"
|
|
},
|
|
"rust-analyzer.cargo.noDefaultFeatures": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Do not activate the `default` feature"
|
|
},
|
|
"rust-analyzer.cargo.allFeatures": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Activate all available features"
|
|
},
|
|
"rust-analyzer.cargo.features": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [],
|
|
"description": "List of features to activate"
|
|
},
|
|
"rust-analyzer.cargo.loadOutDirsFromCheck": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs"
|
|
},
|
|
"rust-analyzer.rustfmt.extraArgs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [],
|
|
"description": "Additional arguments to rustfmt"
|
|
},
|
|
"rust-analyzer.rustfmt.overrideCommand": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [],
|
|
"markdownDescription": "Advanced option, fully override the command rust-analyzer uses for formatting."
|
|
},
|
|
"rust-analyzer.checkOnSave.enable": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Run specified `cargo check` command for diagnostics on save"
|
|
},
|
|
"rust-analyzer.checkOnSave.extraArgs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"markdownDescription": "Extra arguments for `cargo check`",
|
|
"default": []
|
|
},
|
|
"rust-analyzer.checkOnSave.command": {
|
|
"type": "string",
|
|
"default": "check",
|
|
"markdownDescription": "Cargo command to use for `cargo check`"
|
|
},
|
|
"rust-analyzer.checkOnSave.overrideCommand": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [],
|
|
"markdownDescription": "Advanced option, fully override the command rust-analyzer uses for checking. The command should include `--message=format=json` or similar option."
|
|
},
|
|
"rust-analyzer.checkOnSave.allTargets": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Check all targets and tests (will be passed as `--all-targets`)"
|
|
},
|
|
"rust-analyzer.inlayHints.typeHints": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to show inlay type hints"
|
|
},
|
|
"rust-analyzer.inlayHints.chainingHints": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to show inlay type hints for method chains"
|
|
},
|
|
"rust-analyzer.inlayHints.parameterHints": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to show function parameter name inlay hints at the call site"
|
|
},
|
|
"rust-analyzer.inlayHints.maxLength": {
|
|
"type": [
|
|
"null",
|
|
"integer"
|
|
],
|
|
"default": 20,
|
|
"minimum": 0,
|
|
"exclusiveMinimum": true,
|
|
"description": "Maximum length for inlay hints"
|
|
},
|
|
"rust-analyzer.completion.addCallParenthesis": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to add parenthesis when completing functions"
|
|
},
|
|
"rust-analyzer.completion.addCallArgumentSnippets": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to add argument snippets when completing functions"
|
|
},
|
|
"rust-analyzer.completion.postfix.enable": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Whether to show postfix snippets like `dbg`, `if`, `not`, etc."
|
|
},
|
|
"rust-analyzer.callInfo.full": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Show function name and docs in parameter hints"
|
|
},
|
|
"rust-analyzer.highlighting.semanticTokens": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Use proposed semantic tokens API for syntax highlighting"
|
|
},
|
|
"rust-analyzer.updates.channel": {
|
|
"type": "string",
|
|
"enum": [
|
|
"stable",
|
|
"nightly"
|
|
],
|
|
"default": "stable",
|
|
"markdownEnumDescriptions": [
|
|
"`\"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**"
|
|
],
|
|
"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"
|
|
},
|
|
"rust-analyzer.updates.askBeforeDownload": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to ask for permission before downloading any files from the Internet"
|
|
},
|
|
"rust-analyzer.serverPath": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
],
|
|
"default": null,
|
|
"description": "Path to rust-analyzer executable (points to bundled binary by default). If this is set, then \"rust-analyzer.updates.channel\" setting is not used"
|
|
},
|
|
"rust-analyzer.trace.server": {
|
|
"type": "string",
|
|
"scope": "window",
|
|
"enum": [
|
|
"off",
|
|
"messages",
|
|
"verbose"
|
|
],
|
|
"enumDescriptions": [
|
|
"No traces",
|
|
"Error only",
|
|
"Full log"
|
|
],
|
|
"default": "off",
|
|
"description": "Trace requests to the rust-analyzer"
|
|
},
|
|
"rust-analyzer.trace.extension": {
|
|
"description": "Enable logging of VS Code extensions itself",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"problemPatterns": [
|
|
{
|
|
"name": "rustc",
|
|
"patterns": [
|
|
{
|
|
"regexp": "^(warning|warn|error)(?:\\[(.*?)\\])?: (.*)$",
|
|
"severity": 1,
|
|
"code": 2,
|
|
"message": 3
|
|
},
|
|
{
|
|
"regexp": "^[\\s->=]*(.*?):(\\d*):(\\d*)\\s*$",
|
|
"file": 1,
|
|
"line": 2,
|
|
"column": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "rustc-json",
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"languages": [
|
|
{
|
|
"id": "ra_syntax_tree",
|
|
"extensions": [
|
|
".rast"
|
|
]
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "ra_syntax_tree",
|
|
"scopeName": "source.ra_syntax_tree",
|
|
"path": "ra_syntax_tree.tmGrammar.json"
|
|
}
|
|
],
|
|
"problemMatchers": [
|
|
{
|
|
"name": "rustc",
|
|
"fileLocation": [
|
|
"relative",
|
|
"${workspaceRoot}"
|
|
],
|
|
"pattern": "$rustc"
|
|
},
|
|
{
|
|
"name": "rustc-json",
|
|
"fileLocation": [
|
|
"relative",
|
|
"${workspaceRoot}"
|
|
],
|
|
"pattern": "$rustc-json"
|
|
},
|
|
{
|
|
"name": "rustc-watch",
|
|
"fileLocation": [
|
|
"relative",
|
|
"${workspaceRoot}"
|
|
],
|
|
"background": {
|
|
"beginsPattern": "^\\[Running\\b",
|
|
"endsPattern": "^\\[Finished running\\b"
|
|
},
|
|
"pattern": "$rustc"
|
|
}
|
|
],
|
|
"colors": [
|
|
{
|
|
"id": "rust_analyzer.inlayHint",
|
|
"description": "Color for inlay hints",
|
|
"defaults": {
|
|
"dark": "#A0A0A0F0",
|
|
"light": "#747474",
|
|
"highContrast": "#BEBEBE"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
],
|
|
"semanticTokenTypes": [
|
|
{
|
|
"id": "attribute",
|
|
"description": "Style for attributes"
|
|
},
|
|
{
|
|
"id": "builtinType",
|
|
"description": "Style for builtin types",
|
|
"superType": "type"
|
|
},
|
|
{
|
|
"id": "lifetime",
|
|
"description": "Style for lifetimes"
|
|
},
|
|
{
|
|
"id": "typeAlias",
|
|
"description": "Style for type aliases",
|
|
"superType": "type"
|
|
},
|
|
{
|
|
"id": "union",
|
|
"description": "Style for C-style untagged unions",
|
|
"superType": "type"
|
|
}
|
|
],
|
|
"semanticTokenModifiers": [
|
|
{
|
|
"id": "constant",
|
|
"description": "Style for compile-time constants"
|
|
},
|
|
{
|
|
"id": "control",
|
|
"description": "Style for control flow keywords"
|
|
},
|
|
{
|
|
"id": "mutable",
|
|
"description": "Style for mutable bindings"
|
|
},
|
|
{
|
|
"id": "unsafe",
|
|
"description": "Style for unsafe operations"
|
|
}
|
|
],
|
|
"semanticTokenScopes": [
|
|
{
|
|
"language": "rust",
|
|
"scopes": {
|
|
"attribute": [
|
|
"meta.attribute"
|
|
],
|
|
"builtinType": [
|
|
"support.type.primitive"
|
|
],
|
|
"lifetime": [
|
|
"entity.name.lifetime.rust"
|
|
],
|
|
"typeAlias": [
|
|
"entity.name.typeAlias"
|
|
],
|
|
"union": [
|
|
"entity.name.union"
|
|
],
|
|
"keyword.unsafe": [
|
|
"keyword.other.unsafe"
|
|
],
|
|
"keyword.control": [
|
|
"keyword.control"
|
|
],
|
|
"variable.constant": [
|
|
"entity.name.constant"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|