UNPKG

@typespec/compiler

Version:

TypeSpec compiler and standard library

101 lines 3.04 kB
/** * TypeSpec Language configuration. Format: https://code.visualstudio.com/api/language-extensions/language-configuration-guide * @hidden Typedoc causing issue with this */ export const TypeSpecLanguageConfiguration = { comments: { lineComment: "//", blockComment: ["/*", "*/"], }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"], ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, // NOTE: autoclose for double quotes may interfere with typing """ { open: '"', close: '"' }, { open: "/**", close: " */", notIn: ["string"] }, ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' }, ], // From https://github.com/microsoft/vscode/blob/main/extensions/javascript/javascript-language-configuration.json indentationRules: { decreaseIndentPattern: { pattern: "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$", }, increaseIndentPattern: { pattern: "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$", }, // e.g. * ...| or */| or *-----*/| unIndentedLinePattern: { pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$", }, }, 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, }, }, ], }; //# sourceMappingURL=language-config.js.map