提交 e8b83f4a 编写于 作者: J Johannes Rieken

compute before/after changes before applied extra edits, #86984

上级 9237ccb2
......@@ -259,20 +259,21 @@ export class SuggestController implements IEditorContribution {
this.editor.pushUndoStop();
}
if (Array.isArray(suggestion.additionalTextEdits)) {
this.editor.executeEdits('suggestController.additionalTextEdits', suggestion.additionalTextEdits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text)));
}
// compute overwrite[Before|After] deltas BEFORE applying extra edits
const info = this.getOverwriteInfo(item, Boolean(flags & InsertFlags.AlternativeOverwriteConfig));
// keep item in memory
this._memoryService.memorize(model, this.editor.getPosition(), item);
if (Array.isArray(suggestion.additionalTextEdits)) {
this.editor.executeEdits('suggestController.additionalTextEdits', suggestion.additionalTextEdits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text)));
}
let { insertText } = suggestion;
if (!(suggestion.insertTextRules! & CompletionItemInsertTextRule.InsertAsSnippet)) {
insertText = SnippetParser.escape(insertText);
}
const info = this.getOverwriteInfo(item, Boolean(flags & InsertFlags.AlternativeOverwriteConfig));
SnippetController2.get(this.editor).insert(insertText, {
overwriteBefore: info.overwriteBefore,
overwriteAfter: info.overwriteAfter,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册