From b280a148d0dcbc6d93dd448ccfc18d7ff7a246aa Mon Sep 17 00:00:00 2001 From: Ramya Achutha Rao Date: Wed, 28 Feb 2018 21:33:59 -0800 Subject: [PATCH] Show builtin themes in the end #44626 --- .../extensions/electron-browser/extensionsViews.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts index 156c3407dee..adce09fdbe0 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts @@ -154,7 +154,16 @@ export class ExtensionsListView extends ViewsViewletPanel { result = result .filter(e => e.type === LocalExtensionType.System && (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1)); - return new PagedModel(this.sortExtensions(result, options)); + const themesExtensions = result.filter(e => { + return e.local.manifest + && e.local.manifest.contributes + && Array.isArray(e.local.manifest.contributes.themes) + && e.local.manifest.contributes.themes.length; + }); + const themesExtensionsIds = themesExtensions.map(e => e.id); + const others = result.filter(e => themesExtensionsIds.indexOf(e.id) === -1); + + return new PagedModel([...this.sortExtensions(others, options), ...this.sortExtensions(themesExtensions, options)]); } if (!value || ExtensionsListView.isInstalledExtensionsQuery(value)) {