From 71fa26aecb9f18dd3573a3a864a22d41e0493fe4 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Thu, 8 Aug 2019 12:56:16 -0400 Subject: [PATCH] Adds a debug command to the scanner --- src/compiler/scanner.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index eccce228d34..a0fb832e81f 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -877,7 +877,7 @@ namespace ts { setText(text, start, length); - return { + const scanner: Scanner = { getStartPos: () => startPos, getTextPos: () => pos, getToken: () => token, @@ -912,6 +912,17 @@ namespace ts { scanRange, }; + if (Debug.isDebugging) { + Object.defineProperty(scanner, "__debugShowCurrentPositionInText", { + get: () => { + const text = scanner.getText(); + return text.slice(0, scanner.getStartPos()) + "║" + text.slice(scanner.getStartPos()); + }, + }); + } + + return scanner; + function error(message: DiagnosticMessage): void; function error(message: DiagnosticMessage, errPos: number, length: number): void; function error(message: DiagnosticMessage, errPos: number = pos, length?: number): void {