File tree Expand file tree Collapse file tree
src/vs/editor/contrib/suggest Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments