diff --git a/src/bat.ts b/src/bat.ts index da6ff019..38c4a022 100644 --- a/src/bat.ts +++ b/src/bat.ts @@ -12,24 +12,22 @@ export var conf:IRichLanguageConfiguration = { comments: { lineComment: 'REM' }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, ] - // enhancedBrackets: [ - // { - // openTrigger: 'l', - // open: /setlocal$/i, - // closeComplete: 'endlocal', - // matchCase: true, - // closeTrigger: 'l', - // close: /endlocal$/i, - // tokenType: 'keyword.tag-setlocal' - // } - // ], }; export var language = { diff --git a/src/coffee.ts b/src/coffee.ts index 6292ee0a..0a1c79f7 100644 --- a/src/coffee.ts +++ b/src/coffee.ts @@ -14,13 +14,24 @@ export var conf:IRichLanguageConfiguration = { blockComment: ['###', '###'], lineComment: '#' }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] // enhancedBrackets: [ // { open: /for$/ }, { open: /while$/ }, { open: /loop$/ }, { open: /if$/ }, { open: /unless$/ }, diff --git a/src/cpp.ts b/src/cpp.ts index 5ea949f7..81689046 100644 --- a/src/cpp.ts +++ b/src/cpp.ts @@ -13,12 +13,24 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '[', close: ']' }, + { open: '{', close: '}' }, + { open: '(', close: ')' }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/csharp.ts b/src/csharp.ts index b8ec6b48..62252bcc 100644 --- a/src/csharp.ts +++ b/src/csharp.ts @@ -14,13 +14,25 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'], + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: '\'', close: '\'' }, + { open: '"', close: '"' }, ] }; diff --git a/src/css.ts b/src/css.ts index 6a0c6f47..bd140cc1 100644 --- a/src/css.ts +++ b/src/css.ts @@ -22,11 +22,19 @@ export var conf:LanguageConfiguration = { ], autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] } + ], + + surroundingPairs: [ { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, - { open: '"', close: '"', notIn: ['string'] }, - { open: '\'', close: '\'', notIn: ['string'] } + { open: '"', close: '"' }, + { open: '\'', close: '\'' } ] }; diff --git a/src/dockerfile.ts b/src/dockerfile.ts index 1c3b3ec7..5edfc81f 100644 --- a/src/dockerfile.ts +++ b/src/dockerfile.ts @@ -9,14 +9,24 @@ import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration; import ILanguage = monaco.languages.IMonarchLanguage; export var conf:IRichLanguageConfiguration = { - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/fsharp.ts b/src/fsharp.ts index 1c3aa6c4..c61d19a0 100644 --- a/src/fsharp.ts +++ b/src/fsharp.ts @@ -13,12 +13,23 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['(*', '*)'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '"', close: '"', notIn: ['string', 'comment'] } + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' } + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' } ] }; diff --git a/src/go.ts b/src/go.ts index dda49fbd..b651690d 100644 --- a/src/go.ts +++ b/src/go.ts @@ -13,12 +13,26 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '"', close: '"', notIn: ['string', 'comment'] } + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '`', close: '`', notIn: ['string'] }, + { open: '"', close: '"', notIn: ['string'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '`', close: '`' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/handlebars.ts b/src/handlebars.ts index 43e24f99..a568c25a 100644 --- a/src/handlebars.ts +++ b/src/handlebars.ts @@ -22,8 +22,8 @@ export var conf:IRichLanguageConfiguration = { brackets: [ [''], - ['{{', '}}'], ['<', '>'], + ['{{', '}}'], ['{', '}'], ['(', ')'] ], diff --git a/src/ini.ts b/src/ini.ts index 0c59e607..883478ba 100644 --- a/src/ini.ts +++ b/src/ini.ts @@ -12,14 +12,24 @@ export var conf:IRichLanguageConfiguration = { comments: { lineComment: '#' }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'], + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/java.ts b/src/java.ts index 2f810553..0261ba1d 100644 --- a/src/java.ts +++ b/src/java.ts @@ -15,14 +15,25 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'], + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + { open: '<', close: '>' }, ] }; diff --git a/src/less.ts b/src/less.ts index 69bdde13..75e6cb7b 100644 --- a/src/less.ts +++ b/src/less.ts @@ -9,20 +9,30 @@ import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration; import ILanguage = monaco.languages.IMonarchLanguage; export var conf: IRichLanguageConfiguration = { - wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g, - comments: { - blockComment: ['/*', '*/'], - lineComment: '//' - }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], - autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, - ] + wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g, + comments: { + blockComment: ['/*', '*/'], + lineComment: '//' + }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ] }; const TOKEN_SELECTOR = 'tag'; diff --git a/src/lua.ts b/src/lua.ts index 6fd5cab9..ff617b91 100644 --- a/src/lua.ts +++ b/src/lua.ts @@ -13,13 +13,24 @@ export var conf:IRichLanguageConfiguration = { lineComment: '--', blockComment: ['--[[', ']]'], }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/markdown.ts b/src/markdown.ts index fe34ec0e..38824351 100644 --- a/src/markdown.ts +++ b/src/markdown.ts @@ -29,8 +29,22 @@ export var conf: IRichLanguageConfiguration = { comments: { blockComment: ['',] }, - brackets: [['{', '}'], ['[', ']'], ['(', ')'], ['<', '>']], - autoClosingPairs: [] + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'] + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>', notIn: [ 'string' ] } + ], + surroundingPairs: [ + { open: '(', close: ')' }, + { open: '[', close: ']' }, + { open: '`', close: '`' }, + ] }; export var language = { diff --git a/src/objective-c.ts b/src/objective-c.ts index 13ab2ef8..97ee33b2 100644 --- a/src/objective-c.ts +++ b/src/objective-c.ts @@ -13,14 +13,24 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/php.ts b/src/php.ts index 956ab5ae..74c620b3 100644 --- a/src/php.ts +++ b/src/php.ts @@ -23,11 +23,11 @@ export var conf:IRichLanguageConfiguration = { ], autoClosingPairs: [ - { open: '{', close: '}', notIn: ['string.php'] }, - { open: '[', close: ']', notIn: ['string.php'] }, - { open: '(', close: ')', notIn: ['string.php'] }, - { open: '"', close: '"', notIn: ['string.php'] }, - { open: '\'', close: '\'', notIn: ['string.php'] } + { open: '{', close: '}', notIn: ['string'] }, + { open: '[', close: ']', notIn: ['string'] }, + { open: '(', close: ')', notIn: ['string'] }, + { open: '"', close: '"', notIn: ['string'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] } ] }; diff --git a/src/powershell.ts b/src/powershell.ts index 14c5d490..ecec431c 100644 --- a/src/powershell.ts +++ b/src/powershell.ts @@ -15,18 +15,25 @@ export var conf:IRichLanguageConfiguration = { lineComment: '#', blockComment: ['<#', '#>'], }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] - // enhancedBrackets: [ - // { tokenType:'string', openTrigger: '"', open: /@"$/, closeComplete: '"@' }, - // { tokenType:'string', openTrigger: '\'', open: /@'$/, closeComplete: '\'@' }, - // { tokenType:'string', openTrigger: '"', open: /"$/, closeComplete: '"' }, - // { tokenType: 'string', openTrigger: '\'', open: /'$/, closeComplete: '\'' } - // ], }; export var language = { diff --git a/src/python.ts b/src/python.ts index 8b29d2fb..3cda6d87 100644 --- a/src/python.ts +++ b/src/python.ts @@ -13,16 +13,25 @@ export var conf:IRichLanguageConfiguration = { lineComment: '#', blockComment: ['\'\'\'', '\'\'\''], }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] - // Cause an automatic indent to occur after lines ending in :. - // enhancedBrackets: [ { open: /.*:\s*$/, closeComplete: 'else:' } ], }; export var language = { diff --git a/src/r.ts b/src/r.ts index 77953f51..b26044e4 100644 --- a/src/r.ts +++ b/src/r.ts @@ -12,13 +12,22 @@ export var conf:IRichLanguageConfiguration = { comments: { lineComment: '#' }, - brackets: [['{','}'], ['[',']'], ['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, ] }; diff --git a/src/razor.ts b/src/razor.ts index dcca23ee..9e9fe1a0 100644 --- a/src/razor.ts +++ b/src/razor.ts @@ -17,40 +17,41 @@ export var conf:IRichLanguageConfiguration = { wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, comments: { - blockComment: [''] - }, + blockComment: [''] + }, - brackets: [ - [''], - ['<', '>'], - ['{', '}'], - ['(', ')'] - ], + brackets: [ + [''], + ['<', '>'], + ['{', '}'], + ['(', ')'] + ], - autoClosingPairs: [ - { open: '{', close: '}' }, - { open: '[', close: ']' }, - { open: '(', close: ')' }, - { open: '"', close: '"' }, - { open: '\'', close: '\'' } - ], - surroundingPairs: [ - { open: '"', close: '"' }, - { open: '\'', close: '\'' }, - { open: '<', close: '>' } - ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' } + ], - onEnterRules: [ - { - beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), - afterText: /^<\/(\w[\w\d]*)\s*>$/i, - action: { indentAction: _monaco.languages.IndentAction.IndentOutdent } - }, - { - beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), - action: { indentAction: _monaco.languages.IndentAction.Indent } - } - ], + surroundingPairs: [ + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + { open: '<', close: '>' } + ], + + onEnterRules: [ + { + beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), + afterText: /^<\/(\w[\w\d]*)\s*>$/i, + action: { indentAction: _monaco.languages.IndentAction.IndentOutdent } + }, + { + beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), + action: { indentAction: _monaco.languages.IndentAction.Indent } + } + ], }; export const htmlTokenTypes = { diff --git a/src/ruby.ts b/src/ruby.ts index a5b9bdc3..1ba8a85b 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -13,13 +13,24 @@ export var conf:IRichLanguageConfiguration = { lineComment: '#', blockComment: ['=begin', '=end'], }, - brackets: [['(',')'],['{','}'], ['[',']']], + brackets: [ + ['(',')'], + ['{','}'], + ['[',']'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/scss.ts b/src/scss.ts index 77ff8cf0..3c2b2595 100644 --- a/src/scss.ts +++ b/src/scss.ts @@ -14,14 +14,24 @@ export var conf: LanguageConfiguration = { blockComment: ['/*', '*/'], lineComment: '//' }, - brackets: [['{', '}'], ['[', ']'], ['(', ')'], ['<', '>']], + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, { open: '{', close: '}', notIn: ['string', 'comment'] }, { open: '[', close: ']', notIn: ['string', 'comment'] }, { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '\'', close: '\'', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] }; diff --git a/src/sql.ts b/src/sql.ts index e7ae4e22..83a6fdc3 100644 --- a/src/sql.ts +++ b/src/sql.ts @@ -13,18 +13,25 @@ export var conf:IRichLanguageConfiguration = { lineComment: '--', blockComment: ['/*', '*/'], }, - brackets: [['[',']'],['(',')']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, ] - // enhancedBrackets:[ - // { openTrigger: 'n', open: /begin$/i, closeComplete: 'end', matchCase: true }, - // { openTrigger: 'e', open: /case$/i, closeComplete: 'end', matchCase: true }, - // { openTrigger: 'n', open: /when$/i, closeComplete: 'then', matchCase: true } - // ], }; export var language = { diff --git a/src/swift.ts b/src/swift.ts index 155b580f..0c8e6fbc 100644 --- a/src/swift.ts +++ b/src/swift.ts @@ -12,14 +12,26 @@ export var conf:IRichLanguageConfiguration = { lineComment: '//', blockComment: ['/*', '*/'], }, - brackets: [['{','}'],['[',']'],['(',')'],['<','>']], + brackets: [ + ['{','}'], + ['[',']'], + ['(',')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] }, - { open: '<', close: '>', notIn: ['string', 'comment'] }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + { open: '`', close: '`' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + { open: '`', close: '`' }, ] }; diff --git a/src/xml.ts b/src/xml.ts index 8f39c5cf..ec5a73b4 100644 --- a/src/xml.ts +++ b/src/xml.ts @@ -12,19 +12,19 @@ export var conf:IRichLanguageConfiguration = { comments: { blockComment: [''], }, - brackets: [['{','}'],['[',']'],['(',')'],['<','>']], + brackets: [ + ['<','>'] + ], autoClosingPairs: [ - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '<', close: '>' }, + { open: '\'', close: '\'' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '<', close: '>' }, + { open: '\'', close: '\'' }, + { open: '"', close: '"' }, ] - // enhancedBrackets: [{ - // tokenType: 'tag.tag-$1.xml', - // openTrigger: '>', - // open: /<(\w[\w\d]*)([^\/>]*(?!\/)>)[^<>]*$/i, - // closeComplete: '', - // closeTrigger: '>', - // close: /<\/(\w[\w\d]*)\s*>$/i - // }], }; export var language = { diff --git a/src/yaml.ts b/src/yaml.ts index 49cbc6c5..00d4d0b3 100644 --- a/src/yaml.ts +++ b/src/yaml.ts @@ -5,13 +5,25 @@ export const conf: IRichLanguageConfiguration = { comments: { lineComment: '#' }, - brackets: [['{', '}'], ['[', ']']], + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'] + ], autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '\'', close: '\'', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] } - ] + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '\'', close: '\'' }, + ], }; export const language = {