Skip to content

Commit e8b83f4

Browse files
committed
compute before/after changes before applied extra edits, microsoft#86984
1 parent 9237ccb commit e8b83f4

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/vs/editor/contrib/suggest/suggestController.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -259,20 +259,21 @@ export class SuggestController implements IEditorContribution {
259259
this.editor.pushUndoStop();
260260
}
261261

262-
if (Array.isArray(suggestion.additionalTextEdits)) {
263-
this.editor.executeEdits('suggestController.additionalTextEdits', suggestion.additionalTextEdits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text)));
264-
}
262+
// compute overwrite[Before|After] deltas BEFORE applying extra edits
263+
const info = this.getOverwriteInfo(item, Boolean(flags & InsertFlags.AlternativeOverwriteConfig));
265264

266265
// keep item in memory
267266
this._memoryService.memorize(model, this.editor.getPosition(), item);
268267

268+
if (Array.isArray(suggestion.additionalTextEdits)) {
269+
this.editor.executeEdits('suggestController.additionalTextEdits', suggestion.additionalTextEdits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text)));
270+
}
271+
269272
let { insertText } = suggestion;
270273
if (!(suggestion.insertTextRules! & CompletionItemInsertTextRule.InsertAsSnippet)) {
271274
insertText = SnippetParser.escape(insertText);
272275
}
273276

274-
const info = this.getOverwriteInfo(item, Boolean(flags & InsertFlags.AlternativeOverwriteConfig));
275-
276277
SnippetController2.get(this.editor).insert(insertText, {
277278
overwriteBefore: info.overwriteBefore,
278279
overwriteAfter: info.overwriteAfter,

0 commit comments

Comments
 (0)