Pārlūkot izejas kodu

Ruby squiggly heredoc.

Peng Lyu 7 gadi atpakaļ
vecāks
revīzija
fb489d416f
2 mainītis faili ar 9 papildinājumiem un 1 dzēšanām
  1. 1 1
      src/ruby.ts
  2. 8 0
      test/ruby.test.ts

+ 1 - 1
src/ruby.ts

@@ -179,7 +179,7 @@ export const language = <ILanguage>{
 			[/@@[\w]*/, 'namespace.class.identifier'],    // class
 
 			// here document
-			[/<<-(@heredelim).*/, { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }],
+			[/<<[-~](@heredelim).*/, { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }],
 			[/[ \t\r\n]+<<(@heredelim).*/, { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }],
 			[/^<<(@heredelim).*/, { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }],
 

+ 8 - 0
test/ruby.test.ts

@@ -134,5 +134,13 @@ testTokenization('ruby', [
 			{ startIndex: 0, type: 'identifier.ruby' },
 			{ startIndex: 1, type: 'string.heredoc.delimiter.ruby' }
 		]
+	}],
+
+	[{
+		line: 'x<<~HERE',
+		tokens: [
+			{ startIndex: 0, type: 'identifier.ruby' },
+			{ startIndex: 1, type: 'string.heredoc.delimiter.ruby' }
+		]
 	}]
 ]);