@@ -25,13 +25,10 @@ import { Suggestion, TextSuggestion, SnippetSuggestion } from "../types/autocomp
25
25
* Defines the behavior of suggestion acceptance.
26
26
* Assume you have "cons|ole" in the editor (`|` is the cursor position)
27
27
* and the autocomplete suggestion is `const`.
28
- * - insert mode : const|ole
29
- * - replace mode : const|
28
+ * - if `false` -> the edits are inserted : const|ole
29
+ * - if `true`` -> the edits are replaced : const|
30
30
*/
31
- enum InsertMode {
32
- insert = 'insert' ,
33
- replace = 'replace' ,
34
- }
31
+ type ShouldReplace = boolean ;
35
32
36
33
/**
37
34
* Holds a list of suggestions generated from the CompletionItem[]
@@ -87,7 +84,7 @@ export default class AutocompleteAdapter {
87
84
* @param onDidConvertCompletionItem An optional function that takes a {CompletionItem},
88
85
* an {atom$AutocompleteSuggestion} and a {atom$AutocompleteRequest}
89
86
* allowing you to adjust converted items.
90
- * @param insertMode The behavior of suggestion acceptance (see {InsertMode }).
87
+ * @param shouldReplace The behavior of suggestion acceptance (see {ShouldReplace }).
91
88
* @returns A {Promise} of an {Array} of {atom$AutocompleteSuggestion}s containing the
92
89
* AutoComplete+ suggestions to display.
93
90
*/
@@ -96,7 +93,7 @@ export default class AutocompleteAdapter {
96
93
request : ac . SuggestionsRequestedEvent ,
97
94
onDidConvertCompletionItem ?: CompletionItemAdjuster ,
98
95
minimumWordLength ?: number ,
99
- insertMode : InsertMode = InsertMode . insert
96
+ shouldReplace : ShouldReplace = false ,
100
97
) : Promise < ac . AnySuggestion [ ] > {
101
98
const triggerChars =
102
99
server . capabilities . completionProvider != null
@@ -117,7 +114,7 @@ export default class AutocompleteAdapter {
117
114
request ,
118
115
triggerChar ,
119
116
triggerOnly ,
120
- insertMode ,
117
+ shouldReplace ,
121
118
onDidConvertCompletionItem
122
119
)
123
120
@@ -157,7 +154,7 @@ export default class AutocompleteAdapter {
157
154
request : ac . SuggestionsRequestedEvent ,
158
155
triggerChar : string ,
159
156
triggerOnly : boolean ,
160
- insertMode : InsertMode ,
157
+ shouldReplace : ShouldReplace ,
161
158
onDidConvertCompletionItem ?: CompletionItemAdjuster
162
159
) : Promise < Suggestion [ ] > {
163
160
const cache = this . _suggestionCache . get ( server )
@@ -199,7 +196,7 @@ export default class AutocompleteAdapter {
199
196
completions ,
200
197
request ,
201
198
triggerColumns ,
202
- insertMode ,
199
+ shouldReplace ,
203
200
onDidConvertCompletionItem
204
201
)
205
202
this . _suggestionCache . set ( server , {
@@ -358,7 +355,7 @@ export default class AutocompleteAdapter {
358
355
* @param completionItems An {Array} of {CompletionItem} objects or a {CompletionList} containing completion
359
356
* items to be converted.
360
357
* @param request The {atom$AutocompleteRequest} to satisfy.
361
- * @param insertMode The behavior of suggestion acceptance (see {InsertMode }).
358
+ * @param shouldReplace The behavior of suggestion acceptance (see {ShouldReplace }).
362
359
* @param onDidConvertCompletionItem A function that takes a {CompletionItem}, an {atom$AutocompleteSuggestion}
363
360
* and a {atom$AutocompleteRequest} allowing you to adjust converted items.
364
361
* @returns A {Map} of AutoComplete+ suggestions ordered by the CompletionItems sortText.
@@ -367,7 +364,7 @@ export default class AutocompleteAdapter {
367
364
completionItems : CompletionItem [ ] | CompletionList | null ,
368
365
request : ac . SuggestionsRequestedEvent ,
369
366
triggerColumns : [ number , number ] ,
370
- insertMode : InsertMode ,
367
+ shouldReplace : ShouldReplace ,
371
368
onDidConvertCompletionItem ?: CompletionItemAdjuster
372
369
) : Map < Suggestion , PossiblyResolvedCompletionItem > {
373
370
const completionsArray = Array . isArray ( completionItems )
@@ -382,7 +379,7 @@ export default class AutocompleteAdapter {
382
379
{ } as Suggestion ,
383
380
request ,
384
381
triggerColumns ,
385
- insertMode ,
382
+ shouldReplace ,
386
383
onDidConvertCompletionItem
387
384
) ,
388
385
new PossiblyResolvedCompletionItem ( s , false ) ,
@@ -396,7 +393,7 @@ export default class AutocompleteAdapter {
396
393
* @param item An {CompletionItem} containing a completion item to be converted.
397
394
* @param suggestion A {atom$AutocompleteSuggestion} to have the conversion applied to.
398
395
* @param request The {atom$AutocompleteRequest} to satisfy.
399
- * @param insertMode The behavior of suggestion acceptance (see {InsertMode }).
396
+ * @param shouldReplace The behavior of suggestion acceptance (see {ShouldReplace }).
400
397
* @param onDidConvertCompletionItem A function that takes a {CompletionItem}, an {atom$AutocompleteSuggestion}
401
398
* and a {atom$AutocompleteRequest} allowing you to adjust converted items.
402
399
* @returns The {atom$AutocompleteSuggestion} passed in as suggestion with the conversion applied.
@@ -406,7 +403,7 @@ export default class AutocompleteAdapter {
406
403
suggestion : Suggestion ,
407
404
request : ac . SuggestionsRequestedEvent ,
408
405
triggerColumns : [ number , number ] ,
409
- insertMode : InsertMode ,
406
+ shouldReplace : ShouldReplace ,
410
407
onDidConvertCompletionItem ?: CompletionItemAdjuster
411
408
) : Suggestion {
412
409
AutocompleteAdapter . applyCompletionItemToSuggestion ( item , suggestion as TextSuggestion )
@@ -416,7 +413,7 @@ export default class AutocompleteAdapter {
416
413
triggerColumns ,
417
414
request . bufferPosition ,
418
415
suggestion as TextSuggestion ,
419
- insertMode
416
+ shouldReplace
420
417
)
421
418
AutocompleteAdapter . applySnippetToSuggestion ( item , suggestion as SnippetSuggestion )
422
419
if ( onDidConvertCompletionItem != null ) {
@@ -467,24 +464,24 @@ export default class AutocompleteAdapter {
467
464
* @param textEdit A {TextEdit} from a CompletionItem to apply.
468
465
* @param editor An Atom {TextEditor} used to obtain the necessary text replacement.
469
466
* @param suggestion An {atom$AutocompleteSuggestion} to set the replacementPrefix and text properties of.
470
- * @param insertMode The behavior of suggestion acceptance (see {InsertMode }).
467
+ * @param shouldReplace The behavior of suggestion acceptance (see {ShouldReplace }).
471
468
*/
472
469
public static applyTextEditToSuggestion (
473
470
textEdit : TextEdit | InsertReplaceEdit | undefined ,
474
471
editor : TextEditor ,
475
472
triggerColumns : [ number , number ] ,
476
473
originalBufferPosition : Point ,
477
474
suggestion : TextSuggestion ,
478
- insertMode : InsertMode ,
475
+ shouldReplace : ShouldReplace ,
479
476
) : void {
480
477
if ( ! textEdit ) { return ; }
481
478
let range : Range ;
482
479
if ( 'range' in textEdit ) {
483
480
range = textEdit . range ;
484
- } else if ( insertMode === InsertMode . insert ) {
485
- range = textEdit . insert ;
486
- } else {
481
+ } else if ( shouldReplace ) {
487
482
range = textEdit . replace ;
483
+ } else {
484
+ range = textEdit . insert ;
488
485
}
489
486
490
487
if ( range . start . character !== triggerColumns [ 0 ] ) {
0 commit comments