{ "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": { "pattern": "(-?\\d*\\.\\d\\w*)|([^\\-\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)", "flags": "g" }, "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 } } ] }