Skip to content

Commit 0b78695

Browse files
committed
Be less strict when checking line continuation
Fixes #239694
1 parent 907518a commit 0b78695

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

Diff for: src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -456,17 +456,22 @@ export class PromptInputModel extends Disposable implements IPromptInputModel {
456456
}
457457

458458
private _lineContainsContinuationPrompt(lineText: string): boolean {
459-
return !!(this._continuationPrompt && lineText.startsWith(this._continuationPrompt));
459+
return !!(this._continuationPrompt && lineText.startsWith(this._continuationPrompt.trimEnd()));
460460
}
461461

462462
private _getContinuationPromptCellWidth(line: IBufferLine, lineText: string): number {
463-
if (!this._continuationPrompt || !lineText.startsWith(this._continuationPrompt)) {
463+
if (!this._continuationPrompt || !lineText.startsWith(this._continuationPrompt.trimEnd())) {
464464
return 0;
465465
}
466466
let buffer = '';
467467
let x = 0;
468+
let cell: IBufferCell | undefined;
468469
while (buffer !== this._continuationPrompt) {
469-
buffer += line.getCell(x++)!.getChars();
470+
cell = line.getCell(x++);
471+
if (!cell) {
472+
break;
473+
}
474+
buffer += cell.getChars();
470475
}
471476
return x;
472477
}

0 commit comments

Comments
 (0)