Allow to configure "files.defaultLanguage" to use current language (fix #78903)

This commit is contained in:
Benjamin Pasero
2020-01-06 10:21:05 +01:00
parent 0bce136f24
commit 0fd2883856
10 changed files with 81 additions and 19 deletions

View File

@@ -34,7 +34,11 @@ export class SettingsDocument {
// files.defaultLanguage
if (location.path[0] === 'files.defaultLanguage') {
return this.provideLanguageCompletionItems(location, range);
return this.provideLanguageCompletionItems(location, range).then(items => {
// Add special item 'active-editor'
return [this.newSimpleCompletionItem(JSON.stringify('active-editor'), range, localize('activeEditor', "Use the language mode of the currently active text editor if any")), ...items];
});
}
return this.provideLanguageOverridesCompletionItems(location, position);
@@ -153,7 +157,7 @@ export class SettingsDocument {
return Promise.resolve(completions);
}
private provideLanguageCompletionItems(_location: Location, range: vscode.Range, formatFunc: (string: string) => string = (l) => JSON.stringify(l)): vscode.ProviderResult<vscode.CompletionItem[]> {
private provideLanguageCompletionItems(_location: Location, range: vscode.Range, formatFunc: (string: string) => string = (l) => JSON.stringify(l)): Thenable<vscode.CompletionItem[]> {
return vscode.languages.getLanguages().then(languages => {
const completionItems = [];
const configuration = vscode.workspace.getConfiguration();