Skip to content

Commit 31c30b9

Browse files
committed
Skip sections, keep grouping in built-in view #45921
1 parent 66642ec commit 31c30b9

File tree

2 files changed

+16
-81
lines changed

2 files changed

+16
-81
lines changed

src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
} from 'vs/workbench/parts/extensions/browser/extensionsActions';
3434
import { LocalExtensionType, IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
3535
import { ExtensionsInput } from 'vs/workbench/parts/extensions/common/extensionsInput';
36-
import { ExtensionsListView, InstalledExtensionsView, RecommendedExtensionsView, WorkspaceRecommendedExtensionsView, BuiltInExtensionsView, BuiltInThemesExtensionsView, BuiltInBasicsExtensionsView } from './extensionsViews';
36+
import { ExtensionsListView, InstalledExtensionsView, RecommendedExtensionsView, WorkspaceRecommendedExtensionsView, BuiltInExtensionsView } from './extensionsViews';
3737
import { OpenGlobalSettingsAction } from 'vs/workbench/parts/preferences/browser/preferencesActions';
3838
import { IProgressService } from 'vs/platform/progress/common/progress';
3939
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
@@ -133,9 +133,7 @@ export class ExtensionsViewlet extends PersistentViewsViewlet implements IExtens
133133
viewDescriptors.push(this.createMarketPlaceExtensionsListViewDescriptor());
134134
viewDescriptors.push(this.createInstalledExtensionsListViewDescriptor());
135135
viewDescriptors.push(this.createSearchInstalledExtensionsListViewDescriptor());
136-
viewDescriptors.push(this.createSearchBuiltInBasicsExtensionsListViewDescriptor());
137136
viewDescriptors.push(this.createSearchBuiltInExtensionsListViewDescriptor());
138-
viewDescriptors.push(this.createSearchBuiltInThemesExtensionsListViewDescriptor());
139137
viewDescriptors.push(this.createDefaultRecommendedExtensionsListViewDescriptor());
140138
viewDescriptors.push(this.createOtherRecommendedExtensionsListViewDescriptor());
141139
viewDescriptors.push(this.createWorkspaceRecommendedExtensionsListViewDescriptor());
@@ -220,32 +218,7 @@ export class ExtensionsViewlet extends PersistentViewsViewlet implements IExtens
220218
location: ViewLocation.Extensions,
221219
ctor: BuiltInExtensionsView,
222220
when: ContextKeyExpr.has('searchBuiltInExtensions'),
223-
weight: 100,
224-
canToggleVisibility: true
225-
};
226-
}
227-
228-
private createSearchBuiltInThemesExtensionsListViewDescriptor(): IViewDescriptor {
229-
return {
230-
id: 'extensions.builtInThemesExtensionsList',
231-
name: localize('builtInThemesExtensions', "Built-In Themes"),
232-
location: ViewLocation.Extensions,
233-
ctor: BuiltInThemesExtensionsView,
234-
when: ContextKeyExpr.has('searchBuiltInExtensions'),
235-
weight: 100,
236-
canToggleVisibility: true
237-
};
238-
}
239-
240-
private createSearchBuiltInBasicsExtensionsListViewDescriptor(): IViewDescriptor {
241-
return {
242-
id: 'extensions.builtInBasicsExtensionsList',
243-
name: localize('builtInBasicsExtensions', "Built-In Language Basics"),
244-
location: ViewLocation.Extensions,
245-
ctor: BuiltInBasicsExtensionsView,
246-
when: ContextKeyExpr.has('searchBuiltInExtensions'),
247-
weight: 100,
248-
canToggleVisibility: true
221+
weight: 100
249222
};
250223
}
251224

src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts

Lines changed: 14 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -146,39 +146,25 @@ export class ExtensionsListView extends ViewsViewletPanel {
146146
}
147147

148148
if (ExtensionsListView.isBuiltInExtensionsQuery(value)) {
149-
const showThemesOnly = /@builtin:themes/i.test(value);
150-
if (showThemesOnly) {
151-
value = value.replace(/@builtin:themes/g, '');
152-
}
153-
const showBasicsOnly = /@builtin:basics/i.test(value);
154-
if (showBasicsOnly) {
155-
value = value.replace(/@builtin:basics/g, '');
156-
}
157-
158149
value = value.replace(/@builtin/g, '').replace(/@sort:(\w+)(-\w*)?/g, '').trim().toLowerCase();
159150
let result = await this.extensionsWorkbenchService.queryLocal();
160151

161152
result = result
162153
.filter(e => e.type === LocalExtensionType.System && (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1));
163154

164-
if (showThemesOnly) {
165-
const themesExtensions = result.filter(e => {
166-
return e.local.manifest
167-
&& e.local.manifest.contributes
168-
&& Array.isArray(e.local.manifest.contributes.themes)
169-
&& e.local.manifest.contributes.themes.length;
170-
});
171-
return new PagedModel(this.sortExtensions(themesExtensions, options));
172-
}
173-
if (showBasicsOnly) {
174-
const basics = result.filter(e => {
175-
return e.local.manifest
176-
&& e.local.manifest.contributes
177-
&& Array.isArray(e.local.manifest.contributes.languages)
178-
&& e.local.manifest.contributes.languages.length;
179-
});
180-
return new PagedModel(this.sortExtensions(basics, options));
181-
}
155+
const themesExtensions = result.filter(e => {
156+
return e.local.manifest
157+
&& e.local.manifest.contributes
158+
&& Array.isArray(e.local.manifest.contributes.themes)
159+
&& e.local.manifest.contributes.themes.length;
160+
});
161+
162+
const basics = result.filter(e => {
163+
return e.local.manifest
164+
&& e.local.manifest.contributes
165+
&& Array.isArray(e.local.manifest.contributes.languages)
166+
&& e.local.manifest.contributes.languages.length;
167+
});
182168

183169
const others = result.filter(e => {
184170
return e.local.manifest
@@ -187,7 +173,7 @@ export class ExtensionsListView extends ViewsViewletPanel {
187173
&& !Array.isArray(e.local.manifest.contributes.themes);
188174
});
189175

190-
return new PagedModel(this.sortExtensions(others, options));
176+
return new PagedModel([...this.sortExtensions(others, options), ...this.sortExtensions(basics, options), ...this.sortExtensions(themesExtensions, options)]);
191177
}
192178

193179
if (!value || ExtensionsListView.isInstalledExtensionsQuery(value)) {
@@ -581,30 +567,6 @@ export class BuiltInExtensionsView extends ExtensionsListView {
581567
}
582568
}
583569

584-
export class BuiltInThemesExtensionsView extends ExtensionsListView {
585-
586-
async show(query: string): TPromise<IPagedModel<IExtension>> {
587-
if (!ExtensionsListView.isBuiltInExtensionsQuery(query)) {
588-
return super.show(query);
589-
}
590-
let searchBuiltInQuery = '@builtin:themes';
591-
searchBuiltInQuery = query ? searchBuiltInQuery + ' ' + query : searchBuiltInQuery;
592-
return super.show(searchBuiltInQuery);
593-
}
594-
}
595-
596-
export class BuiltInBasicsExtensionsView extends ExtensionsListView {
597-
598-
async show(query: string): TPromise<IPagedModel<IExtension>> {
599-
if (!ExtensionsListView.isBuiltInExtensionsQuery(query)) {
600-
return super.show(query);
601-
}
602-
let searchBuiltInQuery = '@builtin:basics';
603-
searchBuiltInQuery = query ? searchBuiltInQuery + ' ' + query : searchBuiltInQuery;
604-
return super.show(searchBuiltInQuery);
605-
}
606-
}
607-
608570
export class RecommendedExtensionsView extends ExtensionsListView {
609571

610572
async show(query: string): TPromise<IPagedModel<IExtension>> {

0 commit comments

Comments
 (0)