91 lines
2.3 KiB
JSON
91 lines
2.3 KiB
JSON
{
|
|
"comments": {
|
|
"lineComment": "//", // "#"
|
|
"blockComment": [ "/*", "*/" ]
|
|
},
|
|
"brackets": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"]
|
|
],
|
|
"autoClosingPairs": [
|
|
{ "open": "{", "close": "}", "notIn": ["string"] },
|
|
{ "open": "[", "close": "]", "notIn": ["string"] },
|
|
{ "open": "(", "close": ")", "notIn": ["string"] },
|
|
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
|
|
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
|
|
{ "open": "/**", "close": " */", "notIn": ["string"] }
|
|
],
|
|
"surroundingPairs": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"],
|
|
["'", "'"],
|
|
["\"", "\""],
|
|
["`", "`"]
|
|
],
|
|
"indentationRules": {
|
|
"increaseIndentPattern": "({(?!.*}).*|\\(|\\[|((else(\\s)?)?if|else|for(each)?|while|switch|case).*:)\\s*((/[/*].*|)?$|\\?>)",
|
|
"decreaseIndentPattern": "^(.*\\*\\/)?\\s*((\\})|(\\)+[;,])|(\\]\\)*[;,])|\\b(else:)|\\b((end(if|for(each)?|while|switch));))"
|
|
},
|
|
"folding": {
|
|
"markers": {
|
|
"start": "^\\s*(#|\/\/)region\\b",
|
|
"end": "^\\s*(#|\/\/)endregion\\b"
|
|
}
|
|
},
|
|
"wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\-\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)",
|
|
"onEnterRules": [
|
|
{
|
|
// e.g. /** | */
|
|
"beforeText": "^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$",
|
|
"afterText": "^\\s*\\*\\/$",
|
|
"action": {
|
|
"indent": "indentOutdent",
|
|
"appendText": " * "
|
|
}
|
|
},
|
|
{
|
|
// e.g. /** ...|
|
|
"beforeText": "^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$",
|
|
"action": {
|
|
"indent": "none",
|
|
"appendText": " * "
|
|
}
|
|
},
|
|
{
|
|
// e.g. * ...|
|
|
"beforeText": "^(\\t|(\\ \\ ))*\\ \\*(\\ ([^\\*]|\\*(?!\\/))*)?$",
|
|
"action": {
|
|
"indent": "none",
|
|
"appendText": "* ",
|
|
},
|
|
},
|
|
{
|
|
// e.g. */|
|
|
"beforeText": "^(\\t|(\\ \\ ))*\\ \\*\\/\\s*$",
|
|
"action": {
|
|
"indent": "none",
|
|
"removeText": 1
|
|
},
|
|
},
|
|
{
|
|
// e.g. *-----*/|
|
|
"beforeText": "^(\\t|(\\ \\ ))*\\ \\*[^/]*\\*\\/\\s*$",
|
|
"action": {
|
|
"indent": "none",
|
|
"removeText": 1
|
|
}
|
|
},
|
|
{
|
|
// Decrease indentation after single line if/else if/else, for, foreach, or while
|
|
"previousLineText": "^\\s*(((else ?)?if|for(each)?|while)\\s*\\(.*\\)\\s*|else\\s*)$",
|
|
// But make sure line doesn't have braces or is not another if statement
|
|
"beforeText": "^\\s+([^{i\\s]|i(?!f\\b))",
|
|
"action": {
|
|
"indent": "outdent"
|
|
}
|
|
}
|
|
]
|
|
}
|