@@ -30,7 +30,9 @@ class DiagnosticsManager
3030 { SponsorStatus . Unknown , CreateUnknown ( [ .. Sponsorables . Keys ] , Funding . Product , Funding . Prefix ) } ,
3131 { SponsorStatus . Grace , CreateGrace ( [ .. Sponsorables . Keys ] , Funding . Product , Funding . Prefix ) } ,
3232 { SponsorStatus . User , CreateSponsor ( [ .. Sponsorables . Keys ] , Funding . Prefix ) } ,
33- { SponsorStatus . Contributor , CreateContributor ( [ .. Sponsorables . Keys ] , Funding . Prefix ) } ,
33+ { SponsorStatus . Contributor , CreateContributor ( [ .. Sponsorables . Keys ] , Funding . Prefix , hidden : true ) } ,
34+ // NOTE: similar to contributor, we don't show OSS author membership in the IDE.
35+ { SponsorStatus . OpenSource , CreateOpenSource ( [ .. Sponsorables . Keys ] , Funding . Prefix ) } ,
3436 // NOTE: organization is a special case of sponsor, but we report it as hidden since the user isn't directly involved.
3537 { SponsorStatus . Organization , CreateSponsor ( [ .. Sponsorables . Keys ] , Funding . Prefix , hidden : true ) } ,
3638 // NOTE: similar to organization, we don't show team membership in the IDE.
@@ -192,6 +194,8 @@ SponsorStatus GetOrSetStatus(Func<ImmutableArray<AdditionalText>> getAdditionalF
192194 SponsorStatus . Contributor :
193195 claims . IsInRole ( "org" ) ?
194196 SponsorStatus . Organization :
197+ claims . IsInRole ( "oss" ) ?
198+ SponsorStatus . OpenSource :
195199 SponsorStatus . Unknown ;
196200
197201 if ( KnownDescriptors . TryGetValue ( status , out var descriptor ) )
@@ -284,4 +288,15 @@ SponsorStatus GetOrSetStatus(Func<ImmutableArray<AdditionalText>> getAdditionalF
284288 description : Resources . Contributor_Description ,
285289 helpLinkUri : Funding . HelpUrl ,
286290 "DoesNotSupportF1Help" , "CompilationEnd" ) ;
291+
292+ internal static DiagnosticDescriptor CreateOpenSource ( string [ ] sponsorable , string prefix , bool hidden = false ) => new (
293+ $ "{ prefix } 112",
294+ Resources . OpenSource_Title ,
295+ Resources . OpenSource_Message ,
296+ "SponsorLink" ,
297+ hidden ? DiagnosticSeverity . Hidden : DiagnosticSeverity . Info ,
298+ isEnabledByDefault : true ,
299+ description : Resources . OpenSource_Description ,
300+ helpLinkUri : Funding . HelpUrl ,
301+ "DoesNotSupportF1Help" , "CompilationEnd" ) ;
287302}
0 commit comments