| { |
| "comments": { |
| "lineComment": "//", |
| "blockComment": [ "/*", "*/" ] |
| }, |
| "brackets": [ |
| ["{", "}"], |
| ["[", "]"], |
| ["(", ")"] |
| ], |
| "autoClosingPairs": [ |
| ["{", "}"], |
| ["[", "]"], |
| ["(", ")"], |
| { "open": "\"", "close": "\"", "notIn": ["string"] }, |
| { "open": "'", "close": "'", "notIn": ["string"] }, |
| { "open": "/**", "close": " */", "notIn": ["string"] } |
| ], |
| "surroundingPairs": [ |
| ["{", "}"], |
| ["[", "]"], |
| ["(", ")"], |
| ["\"", "\""], |
| ["'", "'"], |
| ["<", ">"] |
| ], |
| "folding": { |
| "markers": { |
| "start": "^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))", |
| "end": "^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))" |
| } |
| }, |
| "onEnterRules": [ |
| { |
| // e.g. /** | */ |
| "beforeText": { |
| "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" |
| }, |
| "afterText": { |
| "pattern": "^\\s*\\*/$" |
| }, |
| "action": { |
| "indent": "indentOutdent", |
| "appendText": " * " |
| } |
| }, |
| { |
| // e.g. /** ...| |
| "beforeText": { |
| "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" |
| }, |
| "action": { |
| "indent": "none", |
| "appendText": " * " |
| } |
| }, |
| { |
| // e.g. * ...| |
| "beforeText": { |
| "pattern": "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$" |
| }, |
| "previousLineText": { |
| "pattern": "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))" |
| }, |
| "action": { |
| "indent": "none", |
| "appendText": "* " |
| } |
| }, |
| { |
| // e.g. */| |
| "beforeText": { |
| "pattern": "^(\\t|[ ])*[ ]\\*/\\s*$" |
| }, |
| "action": { |
| "indent": "none", |
| "removeText": 1 |
| } |
| }, |
| { |
| // e.g. *-----*/| |
| "beforeText": { |
| "pattern": "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$" |
| }, |
| "action": { |
| "indent": "none", |
| "removeText": 1 |
| } |
| }, |
| { |
| "beforeText": { |
| "pattern": "^\\s*(\\bcase\\s.+:|\\bdefault:)$" |
| }, |
| "afterText": { |
| "pattern": "^(?!\\s*(\\bcase\\b|\\bdefault\\b))" |
| }, |
| "action": { |
| "indent": "indent" |
| } |
| }, |
| { |
| "beforeText": { |
| "pattern": "^\\s*///.*$" |
| }, |
| "action": { |
| "indent": "none", |
| "appendText": "///" |
| } |
| } |
| ] |
| } |