Skip to content

Commit 78447f9

Browse files
authored
Merge pull request microsoft#208822 from cpendery/fix/bundle-suggestion-error
fix: bundling error makes terminal suggestions fail
2 parents aae4f6b + 37842b3 commit 78447f9

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,8 @@ export class SuggestAddon extends Disposable implements ITerminalAddon, ISuggest
296296
// TODO: What do frozen and auto do?
297297
const xtermBox = this._screen!.getBoundingClientRect();
298298
const panelBox = this._panel!.offsetParent!.getBoundingClientRect();
299-
suggestWidget.showSuggestions(model, 0, false, false, {
299+
suggestWidget.setCompletionModel(model);
300+
suggestWidget.showSuggestions(0, false, false, {
300301
left: (xtermBox.left - panelBox.left) + this._terminal.buffer.active.cursorX * dimensions.width,
301302
top: (xtermBox.top - panelBox.top) + this._terminal.buffer.active.cursorY * dimensions.height,
302303
height: dimensions.height
@@ -467,7 +468,8 @@ export class SuggestAddon extends Disposable implements ITerminalAddon, ISuggest
467468
// TODO: What do frozen and auto do?
468469
const xtermBox = this._screen!.getBoundingClientRect();
469470
const panelBox = this._panel!.offsetParent!.getBoundingClientRect();
470-
this._suggestWidget?.showSuggestions((this._suggestWidget as any)._completionModel, 0, false, false, {
471+
472+
this._suggestWidget?.showSuggestions(0, false, false, {
471473
left: (xtermBox.left - panelBox.left) + (this._terminal.buffer.active.cursorX + handledCursorDelta) * dimensions.width,
472474
top: (xtermBox.top - panelBox.top) + this._terminal.buffer.active.cursorY * dimensions.height,
473475
height: dimensions.height

src/vs/workbench/services/suggest/browser/simpleSuggestWidget.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,11 @@ export class SimpleSuggestWidget implements IDisposable {
204204

205205
private _cursorPosition?: { top: number; left: number; height: number };
206206

207-
showSuggestions(completionModel: SimpleCompletionModel, selectionIndex: number, isFrozen: boolean, isAuto: boolean, cursorPosition: { top: number; left: number; height: number }): void {
207+
setCompletionModel(completionModel: SimpleCompletionModel) {
208+
this._completionModel = completionModel;
209+
}
210+
211+
showSuggestions(selectionIndex: number, isFrozen: boolean, isAuto: boolean, cursorPosition: { top: number; left: number; height: number }): void {
208212
this._cursorPosition = cursorPosition;
209213

210214
// this._contentWidget.setPosition(this.editor.getPosition());
@@ -213,16 +217,12 @@ export class SimpleSuggestWidget implements IDisposable {
213217
// this._currentSuggestionDetails?.cancel();
214218
// this._currentSuggestionDetails = undefined;
215219

216-
if (this._completionModel !== completionModel) {
217-
this._completionModel = completionModel;
218-
}
219-
220220
if (isFrozen && this._state !== State.Empty && this._state !== State.Hidden) {
221221
this._setState(State.Frozen);
222222
return;
223223
}
224224

225-
const visibleCount = this._completionModel.items.length;
225+
const visibleCount = this._completionModel?.items.length ?? 0;
226226
const isEmpty = visibleCount === 0;
227227
// this._ctxSuggestWidgetMultipleSuggestions.set(visibleCount > 1);
228228

@@ -241,7 +241,7 @@ export class SimpleSuggestWidget implements IDisposable {
241241
// this._onDidFocus.pause();
242242
// this._onDidSelect.pause();
243243
try {
244-
this._list.splice(0, this._list.length, this._completionModel.items);
244+
this._list.splice(0, this._list.length, this._completionModel?.items ?? []);
245245
this._setState(isFrozen ? State.Frozen : State.Open);
246246
this._list.reveal(selectionIndex, 0);
247247
this._list.setFocus([selectionIndex]);

0 commit comments

Comments
 (0)