@@ -7,7 +7,7 @@ import * as atomIde from "atom-ide"
7
7
import * as linter from "atom/linter"
8
8
import Convert from "./convert.js"
9
9
import ApplyEditAdapter from "./adapters/apply-edit-adapter"
10
- import AutocompleteAdapter from "./adapters/autocomplete-adapter"
10
+ import AutocompleteAdapter , { grammarScopeToAutoCompleteSelector } from "./adapters/autocomplete-adapter"
11
11
import CodeActionAdapter from "./adapters/code-action-adapter"
12
12
import CodeFormatAdapter from "./adapters/code-format-adapter"
13
13
import CodeHighlightAdapter from "./adapters/code-highlight-adapter"
@@ -158,6 +158,22 @@ export default class AutoLanguageClient {
158
158
completionItem : {
159
159
snippetSupport : true ,
160
160
commitCharactersSupport : false ,
161
+ documentationFormat : [ ] ,
162
+ deprecatedSupport : false ,
163
+ preselectSupport : false ,
164
+ tagSupport : {
165
+ valueSet : [ ] ,
166
+ } ,
167
+ insertReplaceSupport : false ,
168
+ resolveSupport : {
169
+ properties : [ ] ,
170
+ } ,
171
+ insertTextModeSupport : {
172
+ valueSet : [ ] ,
173
+ } ,
174
+ } ,
175
+ completionItemKind : {
176
+ valueSet : [ ] ,
161
177
} ,
162
178
contextSupport : true ,
163
179
} ,
@@ -548,14 +564,29 @@ export default class AutoLanguageClient {
548
564
}
549
565
550
566
// Autocomplete+ via LS completion---------------------------------------
567
+
568
+ /**
569
+ * A method to override to return an array of grammar scopes that should not be used for autocompletion.
570
+ *
571
+ * Usually that's used for disabling autocomplete inside comments,
572
+ * @example if the grammar scopes are [ '.source.js' ], `getAutocompleteDisabledScopes` may return [ '.source.js .comment' ].
573
+ */
574
+ protected getAutocompleteDisabledScopes ( ) : Array < string > {
575
+ return [ ]
576
+ }
577
+
551
578
public provideAutocomplete ( ) : ac . AutocompleteProvider {
552
579
return {
553
580
selector : this . getGrammarScopes ( )
554
- . map ( ( g ) => ( g . includes ( "." ) ? "." + g : g ) )
581
+ . map ( ( g ) => grammarScopeToAutoCompleteSelector ( g ) )
582
+ . join ( ", " ) ,
583
+ disableForSelector : this . getAutocompleteDisabledScopes ( )
584
+ . map ( ( g ) => grammarScopeToAutoCompleteSelector ( g ) )
555
585
. join ( ", " ) ,
556
586
inclusionPriority : 1 ,
557
587
suggestionPriority : 2 ,
558
588
excludeLowerPriority : false ,
589
+ filterSuggestions : true ,
559
590
getSuggestions : this . getSuggestions . bind ( this ) ,
560
591
onDidInsertSuggestion : this . onDidInsertSuggestion . bind ( this ) ,
561
592
getSuggestionDetailsOnSelect : this . getSuggestionDetailsOnSelect . bind ( this ) ,
0 commit comments