Skip to content

Commit 6635ca9

Browse files
authored
Merge pull request #116245 from microsoft/connor4312/debug-repl-fix
debug: replace element when appending text to ensure updates in repl
2 parents 43e11fa + 17d6508 commit 6635ca9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/vs/workbench/contrib/debug/common/replModel.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { Emitter, Event } from 'vs/base/common/event';
1515

1616
const MAX_REPL_LENGTH = 10000;
1717
let topReplElementCounter = 0;
18+
const getUniqueId = () => `topReplElement:${topReplElementCounter++}`;
1819

1920
export class SimpleReplElement implements IReplElement {
2021

@@ -230,13 +231,14 @@ export class ReplModel {
230231
return;
231232
}
232233
if (!previousElement.value.endsWith('\n') && !previousElement.value.endsWith('\r\n') && previousElement.count === 1) {
233-
previousElement.value += data;
234+
this.replElements[this.replElements.length - 1] = new SimpleReplElement(
235+
session, getUniqueId(), previousElement.value + data, sev, source);
234236
this._onDidChangeElements.fire();
235237
return;
236238
}
237239
}
238240

239-
const element = new SimpleReplElement(session, `topReplElement:${topReplElementCounter++}`, data, sev, source);
241+
const element = new SimpleReplElement(session, getUniqueId(), data, sev, source);
240242
this.addReplElement(element);
241243
} else {
242244
// TODO@Isidor hack, we should introduce a new type which is an output that can fetch children like an expression
@@ -311,7 +313,7 @@ export class ReplModel {
311313
}
312314

313315
// show object
314-
this.appendToRepl(session, new RawObjectReplElement(`topReplElement:${topReplElementCounter++}`, (<any>a).prototype, a, undefined, nls.localize('snapshotObj', "Only primitive values are shown for this object.")), sev, source);
316+
this.appendToRepl(session, new RawObjectReplElement(getUniqueId(), (<any>a).prototype, a, undefined, nls.localize('snapshotObj', "Only primitive values are shown for this object.")), sev, source);
315317
}
316318

317319
// string: watch out for % replacement directive

0 commit comments

Comments
 (0)