From 70dcf9020ca1205a54945e7cd4b345f12f6f86c0 Mon Sep 17 00:00:00 2001 From: larshp Date: Thu, 12 Sep 2019 16:27:20 +0200 Subject: [PATCH] more tests and fixes --- src/abap/abap.test.ts | 12 ++++++++++++ src/abap/abap.ts | 7 ++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/abap/abap.test.ts b/src/abap/abap.test.ts index 904fccb1..fc3b5bfd 100644 --- a/src/abap/abap.test.ts +++ b/src/abap/abap.test.ts @@ -80,4 +80,16 @@ testTokenization('abap', [ { startIndex: 20, type: 'delimiter.abap' }, ] }], + [{ + line: '\'he\'\' llo\'', + tokens: [ + { startIndex: 0, type: 'string.abap' }, + ] + }], + [{ + line: '|hel\\|lo|', + tokens: [ + { startIndex: 0, type: 'string.abap' }, + ] + }], ]); diff --git a/src/abap/abap.ts b/src/abap/abap.ts index 64322033..00bdf670 100644 --- a/src/abap/abap.ts +++ b/src/abap/abap.ts @@ -87,7 +87,7 @@ export const language = { [/@symbols/, { cases: { '@operators': 'operator', '@default' : '' } } ], - [/'/, { token: 'string', bracket: '@open', next: '@string' } ], + [/'/, { token: 'string', bracket: '@open', next: '@stringquote' } ], [/\|/, { token: 'string', bracket: '@open', next: '@stringtemplate' } ], [/\d+/, 'number'], @@ -95,10 +95,11 @@ export const language = { stringtemplate: [ [/[^\\\|]+/, 'string'], - [/\|/, { token: 'string', bracket: '@close', next: '@pop' } ] + [/\\\|/, 'string'], + [/\|/, { token: 'string', bracket: '@close', next: '@pop' } ] ], - string: [ + stringquote: [ [/[^\\']+/, 'string'], [/'/, { token: 'string', bracket: '@close', next: '@pop' } ] ],