@@ -50,6 +50,7 @@ import { IUriIdentityService } from '../../../../platform/uriIdentity/common/uri
50
50
import { IExplorerService } from '../../files/browser/files.js' ;
51
51
import { IViewsService } from '../../../services/views/common/viewsService.js' ;
52
52
import { VIEW_ID as EXPLORER_VIEW_ID } from '../../files/common/files.js' ;
53
+ import { IExtensionGalleryManifest , IExtensionGalleryManifestService } from '../../../../platform/extensionManagement/common/extensionGalleryManifest.js' ;
53
54
54
55
export abstract class ExtensionWidget extends Disposable implements IExtensionContainer {
55
56
private _extension : IExtension | null = null ;
@@ -586,6 +587,7 @@ export class ExtensionPackCountWidget extends ExtensionWidget {
586
587
export class ExtensionKindIndicatorWidget extends ExtensionWidget {
587
588
588
589
private element : HTMLElement | undefined ;
590
+ private extensionGalleryManifest : IExtensionGalleryManifest | null = null ;
589
591
590
592
private readonly disposables = this . _register ( new DisposableStore ( ) ) ;
591
593
@@ -597,10 +599,18 @@ export class ExtensionKindIndicatorWidget extends ExtensionWidget {
597
599
@IUriIdentityService private readonly uriIdentityService : IUriIdentityService ,
598
600
@IExplorerService private readonly explorerService : IExplorerService ,
599
601
@IViewsService private readonly viewsService : IViewsService ,
602
+ @IExtensionGalleryManifestService extensionGalleryManifestService : IExtensionGalleryManifestService ,
600
603
) {
601
604
super ( ) ;
602
605
this . render ( ) ;
603
606
this . _register ( toDisposable ( ( ) => this . clear ( ) ) ) ;
607
+ extensionGalleryManifestService . getExtensionGalleryManifest ( ) . then ( manifest => {
608
+ if ( this . _store . isDisposed ) {
609
+ return ;
610
+ }
611
+ this . extensionGalleryManifest = manifest ;
612
+ this . render ( ) ;
613
+ } ) ;
604
614
}
605
615
606
616
private clear ( ) : void {
@@ -611,23 +621,25 @@ export class ExtensionKindIndicatorWidget extends ExtensionWidget {
611
621
render ( ) : void {
612
622
this . clear ( ) ;
613
623
614
- if ( this . small ) {
615
- return ;
616
- }
617
-
618
624
if ( ! this . extension ) {
619
625
return ;
620
626
}
621
627
622
628
if ( this . extension ?. private ) {
623
629
this . element = append ( this . container , $ ( '.extension-kind-indicator' ) ) ;
624
- append ( this . element , $ ( 'span' + ThemeIcon . asCSSSelector ( privateExtensionIcon ) ) ) ;
630
+ if ( ! this . small || ( this . extensionGalleryManifest ?. capabilities . extensions ?. includePublicExtensions && this . extensionGalleryManifest ?. capabilities . extensions ?. includePrivateExtensions ) ) {
631
+ append ( this . element , $ ( 'span' + ThemeIcon . asCSSSelector ( privateExtensionIcon ) ) ) ;
632
+ }
625
633
if ( ! this . small ) {
626
634
append ( this . element , $ ( 'span.private-extension-label' , undefined , localize ( 'privateExtension' , "Private Extension" ) ) ) ;
627
635
}
628
636
return ;
629
637
}
630
638
639
+ if ( ! this . small ) {
640
+ return ;
641
+ }
642
+
631
643
const location = this . extension . resourceExtension ?. location ?? ( this . extension . local ?. source === 'resource' ? this . extension . local ?. location : undefined ) ;
632
644
if ( ! location ) {
633
645
return ;
0 commit comments