Types/Label.Types.ps1xml
<Types> <Type> <Name>PSGitHub.Label</Name> <Members> <ScriptMethod> <Name>ToColoredString</Name> <Script> # rgb background $c = [System.Drawing.ColorTranslator]::fromHtml('#' + $this.Color) $textColor = if ($c.R * 0.299 + $c.G * 0.587 + $c.B * 0.114 -gt 186) { "`e[38;2;0;0;0m" } else { "`e[38;2;255;255;255m" } $bg = "`e[48;2;$($c.R);$($c.G);$($c.B)m" "`e[0m$textColor$bg $($this.Name) `e[0m" </Script> </ScriptMethod> <ScriptMethod> <Name>ToString</Name> <Script> $this.Name </Script> </ScriptMethod> <ScriptProperty> <Name>Owner</Name> <GetScriptBlock> if ($this.url -match '/repos/([^/]+)/([^/]+)/labels') { $Matches[1] } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>RepositoryName</Name> <GetScriptBlock> if ($this.url -match '/repos/([^/]+)/([^/]+)/labels') { $Matches[2] } </GetScriptBlock> </ScriptProperty> <MemberSet> <Name>PSStandardMembers</Name> <Members> <PropertySet> <Name>DefaultDisplayPropertySet</Name> <ReferencedProperties> <Name>Name</Name> <Name>Color</Name> <Name>Default</Name> <Name>Description</Name> </ReferencedProperties> </PropertySet> <NoteProperty> <Name>DefaultDisplayProperty</Name> <Value>Name</Value> </NoteProperty> </Members> </MemberSet> </Members> </Type> </Types> |