rust/editors/code/package.json
Pascal Hertleif 5bf3e949e8
Semantic highlighting spike
Very simple approach: For each identifier, set the hash of the range
where it's defined as its 'id' and use it in the VSCode extension to
generate unique colors.

Thus, the generated colors are per-file. They are also quite fragile,
and I'm not entirely sure why. Looks like we need to make sure the
same ranges aren't overwritten by a later request?
2019-05-27 11:26:33 +02:00

431 lines
14 KiB
JSON

{
"name": "ra-lsp",
"displayName": "ra-lsp",
"description": "An alternative rust language server to the RLS",
"preview": true,
"private": true,
"version": "0.0.1",
"publisher": "matklad",
"repository": {
"url": "https://github.com/matklad/rust-analyzer/"
},
"categories": [
"Other"
],
"engines": {
"vscode": "^1.33.0"
},
"scripts": {
"vscode:prepublish": "npm run compile",
"package": "vsce package",
"compile": "tsc -p ./ && shx cp src/utils/terminateProcess.sh out/utils/terminateProcess.sh",
"watch": "tsc -watch -p ./",
"postinstall": "node ./node_modules/vscode/bin/install",
"fix": "prettier **/*.{json,ts} --write && tslint --project . --fix",
"lint": "tslint --project .",
"prettier": "prettier **/*.{json,ts}",
"travis": "npm run compile && npm run lint && npm run prettier -- --list-different"
},
"prettier": {
"tabWidth": 4,
"singleQuote": true
},
"dependencies": {
"seedrandom": "^3.0.1",
"vscode-languageclient": "^5.3.0-next.4"
},
"devDependencies": {
"@types/mocha": "^5.2.6",
"@types/node": "^10.14.5",
"@types/seedrandom": "^2.4.28",
"prettier": "^1.17.0",
"shx": "^0.3.1",
"tslint": "^5.16.0",
"tslint-config-prettier": "^1.18.0",
"typescript": "^3.4.4",
"vsce": "^1.59.0",
"vscode": "^1.1.33"
},
"activationEvents": [
"onLanguage:rust",
"onCommand:rust-analyzer.analyzerStatus",
"onCommand:rust-analyzer.collectGarbage",
"workspaceContains:**/Cargo.toml"
],
"main": "./out/extension",
"contributes": {
"taskDefinitions": [
{
"type": "cargo",
"required": [
"command"
],
"properties": {
"label": {
"type": "string"
},
"command": {
"type": "string"
},
"args": {
"type": "array"
},
"env": {
"type": "object"
}
}
}
],
"commands": [
{
"command": "rust-analyzer.syntaxTree",
"title": "Show Syntax Tree",
"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.startCargoWatch",
"title": "Start Cargo Watch",
"category": "Rust Analyzer"
},
{
"command": "rust-analyzer.stopCargoWatch",
"title": "Stop Cargo Watch",
"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.extendSelection",
"key": "shift+alt+right",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "rust-analyzer.joinLines",
"key": "ctrl+shift+j",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "rust-analyzer.run",
"key": "ctrl+r",
"when": "editorTextFocus && editorLangId == rust"
}
],
"configuration": {
"type": "object",
"title": "Rust Analyzer",
"properties": {
"rust-analyzer.highlightingOn": {
"type": "boolean",
"default": false,
"description": "Highlight Rust code (overrides built-in syntax highlighting)"
},
"rust-analyzer.showWorkspaceLoadedNotification": {
"type": "boolean",
"default": true,
"description": "Show notification when workspace was loaded"
},
"rust-analyzer.enableEnhancedTyping": {
"type": "boolean",
"default": true,
"description": "Enables enhanced typing. NOTE: If using a VIM extension, you should set this to false"
},
"rust-analyzer.raLspServerPath": {
"type": [
"string"
],
"default": "ra_lsp_server",
"description": "Path to ra_lsp_server executable"
},
"rust-analyzer.enableCargoWatchOnStartup": {
"type": "string",
"default": "ask",
"enum": [
"ask",
"enabled",
"disabled"
],
"enumDescriptions": [
"Asks each time whether to run `cargo watch`",
"`cargo watch` is always started",
"Don't start `cargo watch`"
],
"description": "Whether to run `cargo watch` on startup"
},
"rust-analyzer.cargo-watch.check-arguments": {
"type": "string",
"description": "`cargo-watch` check arguments. (e.g: `--features=\"shumway,pdf\"` will run as `cargo watch -x \"check --features=\"shumway,pdf\"\"` )",
"default": ""
},
"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 ra_lsp_server"
},
"rust-analyzer.trace.cargo-watch": {
"type": "string",
"scope": "window",
"enum": [
"off",
"error",
"verbose"
],
"default": "off",
"description": "Trace output of cargo-watch"
}
}
},
"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
}
]
}
],
"problemMatchers": [
{
"name": "rustc",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": "$rustc"
},
{
"name": "rustc-watch",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"background": {
"beginsPattern": "^\\[Running\\b",
"endsPattern": "^\\[Finished running\\b"
},
"pattern": "$rustc"
}
],
"colors": [
{
"id": "ralsp.comment",
"description": "Color for comments",
"defaults": {
"dark": "#6A9955",
"light": "#008000",
"highContrast": "#7CA668"
}
},
{
"id": "ralsp.string",
"description": "Color for strings",
"defaults": {
"dark": "#CE9178",
"light": "#A31515",
"highContrast": "#CE9178"
}
},
{
"id": "ralsp.keyword",
"description": "Color for keywords",
"defaults": {
"dark": "#569cd6",
"light": "#0000FF",
"highContrast": "#569CD6"
}
},
{
"id": "ralsp.keyword.control",
"description": "Color for control keywords",
"defaults": {
"dark": "#C586C0",
"light": "#AF00DB",
"highContrast": "#C586C0"
}
},
{
"id": "ralsp.keyword.unsafe",
"description": "Color for unsafe",
"defaults": {
"dark": "#FF3030",
"light": "#FF1010",
"highContrast": "#FF1010"
}
},
{
"id": "ralsp.function",
"description": "Color for functions",
"defaults": {
"dark": "#DCDCAA",
"light": "#795E26",
"highContrast": "#DCDCAA"
}
},
{
"id": "ralsp.parameter",
"description": "Color for parameters",
"defaults": {
"dark": "#9CDCFE",
"light": "#001080",
"highContrast": "#9CDCFE"
}
},
{
"id": "ralsp.builtin",
"description": "Color for builtins",
"defaults": {
"dark": "#DD6718",
"light": "#DD6718",
"highContrast": "#DD6718"
}
},
{
"id": "ralsp.text",
"description": "Color for text",
"defaults": {
"dark": "#D4D4D4",
"light": "#000000",
"highContrast": "#FFFFFF"
}
},
{
"id": "ralsp.attribute",
"description": "Color for attributes",
"defaults": {
"dark": "#9FE9BF",
"light": "#1F4B1F",
"highContrast": "#108010"
}
},
{
"id": "ralsp.literal",
"description": "Color for literals",
"defaults": {
"dark": "#BECEA8",
"light": "#09885A",
"highContrast": "#B5CEA8"
}
},
{
"id": "ralsp.macro",
"description": "Color for macros",
"defaults": {
"dark": "#BFEBBF",
"light": "#DD6718",
"highContrast": "#ED7718"
}
},
{
"id": "ralsp.constant",
"description": "Color for constants",
"defaults": {
"dark": "#569cd6",
"light": "#267cb6",
"highContrast": "#569cd6"
}
},
{
"id": "ralsp.type",
"description": "Color for types",
"defaults": {
"dark": "#4EC9B0",
"light": "#267F99",
"highContrast": "#4EC9B0"
}
},
{
"id": "ralsp.field",
"description": "Color for fields",
"defaults": {
"dark": "#4EC9B0",
"light": "#267F99",
"highContrast": "#4EC9B0"
}
},
{
"id": "ralsp.variable",
"description": "Color for variables",
"defaults": {
"dark": "#4EC9B0",
"light": "#267F99",
"highContrast": "#4EC9B0"
}
},
{
"id": "ralsp.module",
"description": "Color for modules",
"defaults": {
"dark": "#D4D4D4",
"light": "#000000",
"highContrast": "#FFFFFF"
}
}
]
}
}