Skip to content

Commit 2908556

Browse files
committed
cleaning up the code
1 parent d9fe086 commit 2908556

File tree

3 files changed

+30
-26
lines changed

3 files changed

+30
-26
lines changed

src/vs/workbench/contrib/interactiveEditor/browser/interactiveEditorController.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ export class InteractiveEditorController implements IEditorContribution {
247247
}
248248

249249
this._activeSession = session;
250-
this._activeSession.newlySelected = true;
251250
return State.INIT_UI;
252251
}
253252

@@ -272,6 +271,7 @@ export class InteractiveEditorController implements IEditorContribution {
272271
this._zone.value.widget.value = this._activeSession.lastInput ?? '';
273272
this._zone.value.widget.updateInfo(this._activeSession.session.message ?? localize('welcome.1', "AI-generated code may be incorrect"));
274273
this._zone.value.show(this._activeSession.wholeRange.getEndPosition());
274+
this._zone.value.widget.preferredExpansionState = this._activeSession.lastExpansionState;
275275

276276
this._sessionStore.add(this._editor.onDidChangeModel((e) => {
277277
const msg = this._activeSession?.lastExchange
@@ -557,10 +557,7 @@ export class InteractiveEditorController implements IEditorContribution {
557557
this._zone.value.widget.updateStatus('');
558558
this._zone.value.widget.updateMarkdownMessage(renderedMarkdown.element);
559559
this._zone.value.widget.updateToolbar(true);
560-
const expansionState = this._activeSession.newlySelected ? (this._activeSession.lastExpansionState ?? this._zone.value.widget.expansionState) : this._zone.value.widget.expansionState;
561-
this._activeSession.newlySelected = false;
562-
this._activeSession.lastExpansionState = expansionState;
563-
this._zone.value.widget.updateMarkdownMessageExpansionState(expansionState);
560+
this._activeSession.lastExpansionState = this._zone.value.widget.expansionState;
564561

565562
} else if (response instanceof EditResponse) {
566563
// edit response -> complex...

src/vs/workbench/contrib/interactiveEditor/browser/interactiveEditorSession.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ export enum ExpansionState {
6363

6464
export class Session {
6565

66-
private _newlySelected: boolean = false;
6766
private _lastInput: string | undefined;
6867
private _lastExpansionState: ExpansionState | undefined;
6968
private _lastTextModelChanges: LineRangeMapping[] | undefined;
@@ -95,14 +94,6 @@ export class Session {
9594
};
9695
}
9796

98-
get newlySelected() {
99-
return this._newlySelected;
100-
}
101-
102-
set newlySelected(value: boolean) {
103-
this._newlySelected = value;
104-
}
105-
10697
addInput(input: string): void {
10798
this._lastInput = input;
10899
}

src/vs/workbench/contrib/interactiveEditor/browser/interactiveEditorWidget.ts

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ export class InteractiveEditorWidget {
183183

184184
private _lastDim: Dimension | undefined;
185185
private _isLayouting: boolean = false;
186+
private _preferredExpansionState: ExpansionState | undefined;
186187
private _expansionState: ExpansionState = ExpansionState.NOT_CROPPED;
187188

188189
constructor(
@@ -446,22 +447,44 @@ export class InteractiveEditorWidget {
446447
return this._expansionState;
447448
}
448449

450+
set preferredExpansionState(expansionState: ExpansionState | undefined) {
451+
this._preferredExpansionState = expansionState;
452+
}
453+
449454
updateMarkdownMessage(message: Node | undefined) {
450455
this._elements.markdownMessage.classList.toggle('hidden', !message);
456+
let expansionState: ExpansionState;
451457
if (!message) {
452458
reset(this._elements.message);
453459
this._ctxMessageCropState.reset();
454-
this._expansionState = ExpansionState.NOT_CROPPED;
460+
expansionState = ExpansionState.NOT_CROPPED;
455461
} else {
456-
this._elements.message.style.webkitLineClamp = MESSAGE_CROPPED_NUMBER_LINES.toString();
457-
reset(this._elements.message, message);
458-
const expansionState = this._elements.message.scrollHeight > this._elements.message.clientHeight ? ExpansionState.CROPPED : ExpansionState.NOT_CROPPED;
462+
if (this._preferredExpansionState) {
463+
reset(this._elements.message, message);
464+
expansionState = this._preferredExpansionState;
465+
this._preferredExpansionState = undefined;
466+
} else {
467+
this._elements.message.style.webkitLineClamp = MESSAGE_CROPPED_NUMBER_LINES.toString();
468+
reset(this._elements.message, message);
469+
expansionState = this._elements.message.scrollHeight > this._elements.message.clientHeight ? ExpansionState.CROPPED : ExpansionState.NOT_CROPPED;
470+
}
459471
this._ctxMessageCropState.set(expansionState);
460-
this._expansionState = expansionState;
472+
this.updateLineClamp(expansionState);
461473
}
474+
this._expansionState = expansionState;
475+
this._onDidChangeHeight.fire();
476+
}
477+
478+
updateMarkdownMessageExpansionState(expansionState: ExpansionState) {
479+
this._ctxMessageCropState.set(expansionState);
480+
this.updateLineClamp(expansionState);
462481
this._onDidChangeHeight.fire();
463482
}
464483

484+
updateLineClamp(expansionState: ExpansionState) {
485+
this._elements.message.style.webkitLineClamp = expansionState === ExpansionState.NOT_CROPPED ? 'none' : (expansionState === ExpansionState.EXPANDED ? MESSAGE_EXPANDED_NUMBER_LINES.toString() : MESSAGE_CROPPED_NUMBER_LINES.toString());
486+
}
487+
465488
updateInfo(message: string): void {
466489
this._elements.infoLabel.classList.toggle('hidden', !message);
467490
this._elements.infoLabel.innerText = message;
@@ -510,13 +533,6 @@ export class InteractiveEditorWidget {
510533
this._inputEditor.focus();
511534
}
512535

513-
updateMarkdownMessageExpansionState(expansionState: ExpansionState) {
514-
this._ctxMessageCropState.set(expansionState);
515-
this._expansionState = expansionState;
516-
this._elements.message.style.webkitLineClamp = expansionState === ExpansionState.NOT_CROPPED ? 'none' : (expansionState === ExpansionState.EXPANDED ? MESSAGE_EXPANDED_NUMBER_LINES.toString() : MESSAGE_CROPPED_NUMBER_LINES.toString());
517-
this._onDidChangeHeight.fire();
518-
}
519-
520536
// --- preview
521537

522538
showEditsPreview(textModelv0: ITextModel, edits: ISingleEditOperation[], changes: LineRangeMapping[]) {

0 commit comments

Comments
 (0)