Merge VS Code 1.23.1 (#1520)

This commit is contained in:
Matt Irvine
2018-06-05 11:24:51 -07:00
committed by GitHub
parent e3baf5c443
commit 0c58f09e59
3651 changed files with 74249 additions and 48599 deletions

View File

@@ -6,7 +6,7 @@
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { TPromise } from 'vs/base/common/winjs.base';
import Event from 'vs/base/common/event';
import { Event } from 'vs/base/common/event';
export interface ILocalization {
languageId: string;
@@ -20,12 +20,17 @@ export interface ITranslation {
path: string;
}
export enum LanguageType {
Core = 1,
Contributed
}
export const ILocalizationsService = createDecorator<ILocalizationsService>('localizationsService');
export interface ILocalizationsService {
_serviceBrand: any;
readonly onDidLanguagesChange: Event<void>;
getLanguageIds(): TPromise<string[]>;
getLanguageIds(type?: LanguageType): TPromise<string[]>;
}
export function isValidLocalization(localization: ILocalization): boolean {

View File

@@ -7,8 +7,8 @@
import { TPromise } from 'vs/base/common/winjs.base';
import { IChannel, eventToCall, eventFromCall } from 'vs/base/parts/ipc/common/ipc';
import Event, { buffer } from 'vs/base/common/event';
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
import { Event, buffer } from 'vs/base/common/event';
import { ILocalizationsService, LanguageType } from 'vs/platform/localizations/common/localizations';
export interface ILocalizationsChannel extends IChannel {
call(command: 'event:onDidLanguagesChange'): TPromise<void>;
@@ -27,7 +27,7 @@ export class LocalizationsChannel implements ILocalizationsChannel {
call(command: string, arg?: any): TPromise<any> {
switch (command) {
case 'event:onDidLanguagesChange': return eventToCall(this.onDidLanguagesChange);
case 'getLanguageIds': return this.service.getLanguageIds();
case 'getLanguageIds': return this.service.getLanguageIds(arg);
}
return undefined;
}
@@ -42,7 +42,7 @@ export class LocalizationsChannelClient implements ILocalizationsService {
private _onDidLanguagesChange = eventFromCall<void>(this.channel, 'event:onDidLanguagesChange');
get onDidLanguagesChange(): Event<void> { return this._onDidLanguagesChange; }
getLanguageIds(): TPromise<string[]> {
return this.channel.call('getLanguageIds');
getLanguageIds(type?: LanguageType): TPromise<string[]> {
return this.channel.call('getLanguageIds', type);
}
}

View File

@@ -13,10 +13,10 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { Limiter } from 'vs/base/common/async';
import { areSameExtensions, getGalleryExtensionIdFromLocal, getIdFromLocalExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { ILogService } from 'vs/platform/log/common/log';
import { isValidLocalization, ILocalizationsService } from 'vs/platform/localizations/common/localizations';
import { isValidLocalization, ILocalizationsService, LanguageType } from 'vs/platform/localizations/common/localizations';
import product from 'vs/platform/node/product';
import { distinct, equals } from 'vs/base/common/arrays';
import Event, { Emitter } from 'vs/base/common/event';
import { Event, Emitter } from 'vs/base/common/event';
interface ILanguagePack {
hash: string;
@@ -27,7 +27,7 @@ interface ILanguagePack {
translations: { [id: string]: string };
}
const systemLanguages: string[] = ['de', 'en', 'en-US', 'es', 'fr', 'it', 'ja', 'ko', 'ru', 'zh-CN', 'zh-TW'];
const systemLanguages: string[] = ['de', 'en', 'en-US', 'es', 'fr', 'it', 'ja', 'ko', 'ru', 'zh-CN', 'zh-Hans', 'zh-TW', 'zh-Hant'];
if (product.quality !== 'stable') {
systemLanguages.push('hu');
}
@@ -55,10 +55,13 @@ export class LocalizationsService extends Disposable implements ILocalizationsSe
this.extensionManagementService.getInstalled().then(installed => this.cache.update(installed));
}
getLanguageIds(): TPromise<string[]> {
getLanguageIds(type: LanguageType): TPromise<string[]> {
if (type === LanguageType.Core) {
return TPromise.as([...systemLanguages]);
}
return this.cache.getLanguagePacks()
.then(languagePacks => {
const languages = [...systemLanguages, ...Object.keys(languagePacks)];
const languages = type === LanguageType.Contributed ? Object.keys(languagePacks) : [...systemLanguages, ...Object.keys(languagePacks)];
return TPromise.as(distinct(languages));
});
}