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 {