소스 검색

Ruby squiggly heredoc.

Peng Lyu 7 년 전
부모
커밋
fb489d416f
2개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  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' }
+		]
 	}]
 ]);