@@ -26,7 +26,7 @@ import {
26
26
TextEditorRevealType ,
27
27
SingleEditOperation ,
28
28
ApplyEditsOptions ,
29
- UndoStopOptions ,
29
+ SnippetEditOptions ,
30
30
DecorationOptions
31
31
} from '../../common/plugin-api-rpc' ;
32
32
import { Range } from '../../common/plugin-api-rpc-model' ;
@@ -281,7 +281,7 @@ export class TextEditorMain implements Disposable {
281
281
return true ;
282
282
}
283
283
284
- insertSnippet ( template : string , ranges : Range [ ] , opts : UndoStopOptions ) : boolean {
284
+ insertSnippet ( template : string , ranges : Range [ ] , opts : SnippetEditOptions ) : boolean {
285
285
const snippetController : SnippetController2 | null | undefined = this . editor ?. getControl ( ) . getContribution ( 'snippetController2' ) ;
286
286
287
287
if ( ! snippetController || ! this . editor ) { return false ; }
@@ -290,7 +290,13 @@ export class TextEditorMain implements Disposable {
290
290
this . editor . getControl ( ) . setSelections ( selections ) ;
291
291
this . editor . focus ( ) ;
292
292
293
- snippetController . insert ( template , 0 , 0 , opts . undoStopBefore , opts . undoStopAfter ) ;
293
+ snippetController . insert ( template , {
294
+ undoStopBefore : opts . undoStopBefore ,
295
+ undoStopAfter : opts . undoStopAfter ,
296
+ adjustWhitespace : ! opts . keepWhitespace ,
297
+ overwriteBefore : 0 ,
298
+ overwriteAfter : 0
299
+ } ) ;
294
300
295
301
return true ;
296
302
}
@@ -324,11 +330,17 @@ export class TextEditorMain implements Disposable {
324
330
}
325
331
}
326
332
333
+ interface SnippetInsertOptions {
334
+ overwriteBefore : number ,
335
+ overwriteAfter : number ,
336
+ undoStopBefore : boolean ,
337
+ undoStopAfter : boolean ,
338
+ adjustWhitespace : boolean
339
+ }
340
+
327
341
// TODO move to monaco typings!
328
342
interface SnippetController2 extends monaco . editor . IEditorContribution {
329
- insert ( template : string ,
330
- overwriteBefore : number , overwriteAfter : number ,
331
- undoStopBefore : boolean , undoStopAfter : boolean ) : void ;
343
+ insert ( template : string , options ?: Partial < SnippetInsertOptions > ) : void ;
332
344
finish ( ) : void ;
333
345
cancel ( ) : void ;
334
346
dispose ( ) : void ;
0 commit comments