@@ -86,7 +86,7 @@ export class SettingsDocument {
8686 } ) ) ;
8787 } else {
8888 // Value
89- return this . provideLanguageCompletionItems ( location , range ) ;
89+ return this . provideLanguageCompletionItemsForLanguageOverrides ( location , range ) ;
9090 }
9191 }
9292
@@ -158,6 +158,11 @@ export class SettingsDocument {
158158 }
159159
160160 private provideLanguageCompletionItems ( _location : Location , range : vscode . Range , formatFunc : ( string : string ) => string = ( l ) => JSON . stringify ( l ) ) : Thenable < vscode . CompletionItem [ ] > {
161+ return vscode . languages . getLanguages ( )
162+ . then ( languages => languages . map ( l => this . newSimpleCompletionItem ( formatFunc ( l ) , range ) ) ) ;
163+ }
164+
165+ private provideLanguageCompletionItemsForLanguageOverrides ( _location : Location , range : vscode . Range , formatFunc : ( string : string ) => string = ( l ) => JSON . stringify ( l ) ) : Thenable < vscode . CompletionItem [ ] > {
161166 return vscode . languages . getLanguages ( ) . then ( languages => {
162167 const completionItems = [ ] ;
163168 const configuration = vscode . workspace . getConfiguration ( ) ;
@@ -182,7 +187,7 @@ export class SettingsDocument {
182187 let text = this . document . getText ( range ) ;
183188 if ( text && text . trim ( ) . startsWith ( '[' ) ) {
184189 range = new vscode . Range ( new vscode . Position ( range . start . line , range . start . character + text . indexOf ( '[' ) ) , range . end ) ;
185- return this . provideLanguageCompletionItems ( location , range , language => `"[${ language } ]"` ) ;
190+ return this . provideLanguageCompletionItemsForLanguageOverrides ( location , range , language => `"[${ language } ]"` ) ;
186191 }
187192
188193 range = this . document . getWordRangeAtPosition ( position ) || new vscode . Range ( position , position ) ;
@@ -209,7 +214,7 @@ export class SettingsDocument {
209214 // Suggestion model word matching includes closed sqaure bracket and ending quote
210215 // Hence include them in the proposal to replace
211216 let range = this . document . getWordRangeAtPosition ( position ) || new vscode . Range ( position , position ) ;
212- return this . provideLanguageCompletionItems ( location , range , language => `"[${ language } ]"` ) ;
217+ return this . provideLanguageCompletionItemsForLanguageOverrides ( location , range , language => `"[${ language } ]"` ) ;
213218 }
214219 return Promise . resolve ( [ ] ) ;
215220 }
0 commit comments