aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-12-13 14:20:11 +0000
committerGitHub <[email protected]>2020-12-13 14:20:11 +0000
commit917d56273db8b117896c31a0766de6d8c0b5827b (patch)
tree52822c019b884b2f2f21688e1c72af738672be3e
parentfbad1b8a2496b703876f9e09072f217cc3cde84b (diff)
parent612be092826ad6654fd7f8a337c49a39754e9293 (diff)
Merge #6840
6840: Add a language configuration file for VS Code r=matklad a=dustypomerleau There has been recent discussion in #6451 and #6682 about the need to include angle brackets in auto-close and auto-surround functionality. This PR will accomplish that, but only for users of VS Code, as it uses the VS Code-specific `language-configuration.json` to get the job done. Since there are a large number of VS Code users in the Rust Analyzer cohort, it may be reasonable to fix the issue for them, while waiting on a more comprehensive solution in the language server. In addition to the usual brackets, I've added auto-closing of block comments. I avoided autoclosing single quotes, given that lifetimes are more common than chars. Co-authored-by: Dusty Pomerleau <[email protected]>
-rw-r--r--editors/code/language-configuration.json38
-rw-r--r--editors/code/package.json11
2 files changed, 49 insertions, 0 deletions
diff --git a/editors/code/language-configuration.json b/editors/code/language-configuration.json
new file mode 100644
index 000000000..b20e0d978
--- /dev/null
+++ b/editors/code/language-configuration.json
@@ -0,0 +1,38 @@
1{
2 "comments": {
3 "lineComment": "//",
4 "blockComment": [ "/*", "*/" ]
5 },
6 "brackets": [
7 ["{", "}"],
8 ["[", "]"],
9 ["(", ")"],
10 ["<", ">"]
11 ],
12 "autoClosingPairs": [
13 { "open": "{", "close": "}" },
14 { "open": "[", "close": "]" },
15 { "open": "(", "close": ")" },
16 { "open": "\"", "close": "\"", "notIn": ["string"] },
17 { "open": "/*", "close": " */" }
18 ],
19 "autoCloseBefore": ";:.,=}])> \n\t",
20 "surroundingPairs": [
21 ["{", "}"],
22 ["[", "]"],
23 ["(", ")"],
24 ["<", ">"],
25 ["\"", "\""],
26 ["'", "'"]
27 ],
28 "indentationRules": {
29 "increaseIndentPattern": "^.*\\{[^}\"']*$|^.*\\([^\\)\"']*$",
30 "decreaseIndentPattern": "^\\s*(\\s*\\/[*].*[*]\\/\\s*)*[})]"
31 },
32 "folding": {
33 "markers": {
34 "start": "^\\s*//\\s*#?region\\b",
35 "end": "^\\s*//\\s*#?endregion\\b"
36 }
37 }
38}
diff --git a/editors/code/package.json b/editors/code/package.json
index ca5f2ebc8..160a62e46 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -734,6 +734,17 @@
734 "extensions": [ 734 "extensions": [
735 ".rast" 735 ".rast"
736 ] 736 ]
737 },
738 {
739 "id": "rust",
740 "extensions": [
741 ".rs"
742 ],
743 "aliases": [
744 "Rust",
745 "rs"
746 ],
747 "configuration": "language-configuration.json"
737 } 748 }
738 ], 749 ],
739 "grammars": [ 750 "grammars": [