Skip to content

Commit d037fad

Browse files
committed
changes from review
1 parent eb98edb commit d037fad

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,14 +196,15 @@ export class InlineChatController implements IEditorContribution {
196196
private _showWidget(initialRender: boolean = false) {
197197
assertType(this._activeSession);
198198
assertType(this._strategy);
199+
assertType(this._editor.hasModel());
199200

200-
let widgetPosition: Position | null;
201+
let widgetPosition: Position | undefined;
201202
if (initialRender) {
202203
widgetPosition = this._editor.getPosition();
203204
} else {
204-
widgetPosition = this._strategy.getWidgetPosition();
205+
widgetPosition = this._strategy.getWidgetPosition() ?? this._zone.value.position ?? this._activeSession.wholeRange.value.getEndPosition();
205206
}
206-
this._zone.value.show((widgetPosition ?? this._zone.value.position) ?? this._activeSession.wholeRange.value.getEndPosition());
207+
this._zone.value.show(widgetPosition);
207208
}
208209

209210
protected async _nextState(state: State, options: InlineChatRunOptions | undefined): Promise<void> {

src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export abstract class EditModeStrategy {
4343

4444
abstract hasFocus(): boolean;
4545

46-
abstract getWidgetPosition(): Position | null;
46+
abstract getWidgetPosition(): Position | undefined;
4747
}
4848

4949
export class PreviewStrategy extends EditModeStrategy {
@@ -131,8 +131,8 @@ export class PreviewStrategy extends EditModeStrategy {
131131
// nothing to do
132132
}
133133

134-
getWidgetPosition(): Position | null {
135-
return null;
134+
getWidgetPosition(): Position | undefined {
135+
return;
136136
}
137137

138138
hasFocus(): boolean {
@@ -331,7 +331,7 @@ export class LiveStrategy extends EditModeStrategy {
331331
this._widget.updateStatus(message);
332332
}
333333

334-
private _lastLineOfLocalEdits(): number | undefined {
334+
override getWidgetPosition(): Position | undefined {
335335
const lastTextModelChanges = this._session.lastTextModelChanges;
336336
let lastLineOfLocalEdits: number | undefined;
337337
for (const change of lastTextModelChanges) {
@@ -340,16 +340,7 @@ export class LiveStrategy extends EditModeStrategy {
340340
lastLineOfLocalEdits = changeEndLineNumber;
341341
}
342342
}
343-
return lastLineOfLocalEdits;
344-
}
345-
346-
override getWidgetPosition(): Position | null {
347-
const isEditResponse = this._session.lastExchange?.response instanceof EditResponse;
348-
if (isEditResponse) {
349-
const lastLineOfLocalEdits = this._lastLineOfLocalEdits();
350-
return lastLineOfLocalEdits ? new Position(lastLineOfLocalEdits, 1) : null;
351-
}
352-
return null;
343+
return lastLineOfLocalEdits ? new Position(lastLineOfLocalEdits, 1) : undefined;
353344
}
354345

355346
hasFocus(): boolean {
@@ -410,14 +401,6 @@ export class LivePreviewStrategy extends LiveStrategy {
410401
scrollState.restore(this._editor);
411402
}
412403

413-
override getWidgetPosition(): Position | null {
414-
const isEditResponse = this._session.lastExchange?.response instanceof EditResponse;
415-
if (isEditResponse) {
416-
return this._session.wholeRange.value.getEndPosition();
417-
}
418-
return null;
419-
}
420-
421404
override hasFocus(): boolean {
422405
return super.hasFocus() || this._diffZone.hasFocus() || this._previewZone.hasFocus();
423406
}

0 commit comments

Comments
 (0)