Skip to content

Commit b60b4d7

Browse files
committed
doing checks on length and line number
1 parent 1cc266c commit b60b4d7

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,9 @@ export class InlineCompletionsModel extends Disposable {
421421
const partialGhostTextVal = ghostTextVal.substring(0, acceptUntilIndexExclusive);
422422

423423
const positions = this._positions.get();
424+
if (positions.length === 0) {
425+
return;
426+
}
424427
const cursorPosition = positions[0];
425428

426429
// Executing the edit might free the completion, so we have to hold a reference on it.
@@ -470,6 +473,10 @@ export class InlineCompletionsModel extends Disposable {
470473
}
471474

472475
export function getSecondaryEdits(textModel: ITextModel, positions: readonly Position[], primaryEdit: SingleTextEdit): SingleTextEdit[] {
476+
if (positions.length === 1) {
477+
// No secondary cursor positions
478+
return [];
479+
}
473480
const primaryPosition = positions[0];
474481
const secondaryPositions = positions.slice(1);
475482
const primaryEditStartPosition = primaryEdit.range.getStartPosition();
@@ -478,6 +485,9 @@ export function getSecondaryEdits(textModel: ITextModel, positions: readonly Pos
478485
Range.fromPositions(primaryPosition, primaryEditEndPosition)
479486
);
480487
const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEditStartPosition);
488+
if (positionWithinTextEdit.lineNumber < 1) {
489+
return [];
490+
}
481491
const secondaryEditText = substringPos(primaryEdit.text, positionWithinTextEdit);
482492
return secondaryPositions.map(pos => {
483493
const posEnd = addPositions(subtractPositions(pos, primaryEditStartPosition), primaryEditEndPosition);

0 commit comments

Comments
 (0)