Преглед изворни кода

Fixes Microsoft/monaco-editor#381: Align language configurations with VS Code

Alex Dima пре 8 година
родитељ
комит
da162968ac
26 измењених фајлова са 418 додато и 198 уклоњено
  1. 14 16
      src/bat.ts
  2. 17 6
      src/coffee.ts
  3. 17 5
      src/cpp.ts
  4. 17 5
      src/csharp.ts
  5. 10 2
      src/css.ts
  6. 17 7
      src/dockerfile.ts
  7. 16 5
      src/fsharp.ts
  8. 19 5
      src/go.ts
  9. 1 1
      src/handlebars.ts
  10. 17 7
      src/ini.ts
  11. 18 7
      src/java.ts
  12. 24 14
      src/less.ts
  13. 17 6
      src/lua.ts
  14. 16 2
      src/markdown.ts
  15. 17 7
      src/objective-c.ts
  16. 5 5
      src/php.ts
  17. 17 10
      src/powershell.ts
  18. 16 7
      src/python.ts
  19. 15 6
      src/r.ts
  20. 32 31
      src/razor.ts
  21. 17 6
      src/ruby.ts
  22. 14 4
      src/scss.ts
  23. 17 10
      src/sql.ts
  24. 19 7
      src/swift.ts
  25. 11 11
      src/xml.ts
  26. 18 6
      src/yaml.ts

+ 14 - 16
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 = <ILanguage> {

+ 17 - 6
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$/ },

+ 17 - 5
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: '\'' },
 	]
 };
 

+ 17 - 5
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: '"' },
 	]
 };
 

+ 10 - 2
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: '\'' }
 	]
 };
 

+ 17 - 7
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: '\'' },
 	]
 };
 

+ 16 - 5
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: '\'' }
 	]
 };
 

+ 19 - 5
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: '\'' },
 	]
 };
 

+ 1 - 1
src/handlebars.ts

@@ -22,8 +22,8 @@ export var conf:IRichLanguageConfiguration = {
 
 	brackets: [
 		['<!--', '-->'],
-		['{{', '}}'],
 		['<', '>'],
+		['{{', '}}'],
 		['{', '}'],
 		['(', ')']
 	],

+ 17 - 7
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: '\'' },
 	]
 };
 

+ 18 - 7
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: '>' },
 	]
 };
 

+ 24 - 14
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';

+ 17 - 6
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: '\'' },
 	]
 };
 

+ 16 - 2
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 = <ILanguage>{

+ 17 - 7
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: '\'' },
 	]
 };
 

+ 5 - 5
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'] }
 	]
 };
 

+ 17 - 10
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 = <ILanguage> {

+ 16 - 7
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 = <ILanguage> {

+ 15 - 6
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: '"' },
 	]
 };
 

+ 32 - 31
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 = {

+ 17 - 6
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: '\'' },
 	]
 };
 

+ 14 - 4
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: '\'' },
     ]
 };
 

+ 17 - 10
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 = <ILanguage> {

+ 19 - 7
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: '`' },
 	]
 };
 

+ 11 - 11
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: '</$1>',
-	// 	closeTrigger: '>',
-	// 	close: /<\/(\w[\w\d]*)\s*>$/i
-	// }],
 };
 
 export var language = <ILanguage> {

+ 18 - 6
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 = <ILanguage> {