AnsiColors.ps1
|
Function Find-AnsiColor { param ( [Parameter(Mandatory=$true, Position=0)] [string]$Name ) # filter for closest matches return $ansiColors.Keys | Where-Object { $_ -like "*$Name*" } | Sort-Object @{ Expression = { if ($_ -eq $Name) { 0 } else { 1 } } }, # put exact matches first @{ Expression = { $_ } } } Function Find-AnsiStyle { param ( [Parameter(Mandatory=$true, Position=0)] [string]$Name ) # filter for closest matches return $ansiStyles.Keys | Where-Object { $_ -like "*$Name*" } | Sort-Object @{ Expression = { if ($_ -eq $Name) { 0 } else { 1 } } }, # put exact matches first @{ Expression = { $_ } } } Function ConvertTo-AnsiColorString { [CmdletBinding()] Param ( [Parameter(Mandatory=$true, Position=0)] [string]$InputString, [Parameter(Mandatory=$false)] [string]$ForegroundColor, [Parameter(Mandatory=$false)] [string]$BackgroundColor, [Parameter(Mandatory=$false)] [string[]]$Styles ) $esc = [char]27 # using char 27 instead of string "`e" because not using `e makeis it PS 5.1 compatible $fgColor = $ansiColors[$ForegroundColor] $bgColor = $ansiColors[$BackgroundColor] $styleSequence = "" # multiple styles in array if ($Styles) { $styleSequence = $Styles | ForEach-Object { "$esc[{0}m" -f $ansiStyles[$_] } } if ($fgColor -and $bgColor) { return "$styleSequence$esc[38;5;{0};48;5;{1}m{2}$esc[0m" -f $fgColor, $bgColor, $InputString } elseif ($fgColor) { return "$styleSequence$esc[38;5;{0}m{1}$esc[0m" -f $fgColor, $InputString } elseif ($bgColor) { return "$styleSequence$esc[48;5;{0}m{1}$esc[0m" -f $bgColor, $InputString } elseif ($Styles) { return "$styleSequence$InputString$esc[0m" } else { return $InputString } } $ansiStyles = @{ Normal = 0; Bold = 1; Dim = 2; Italic = 3; Underline = 4; Blink = 5; RapidBlink = 6; Reverse = 7; Hidden = 8; } $ansiColors = @{ # Powershell defined ones, 0-15 Black = 0; DarkBlue = 4; DarkGreen = 2; DarkCyan = 6; DarkRed = 1; DarkMagenta = 5; DarkYellow = 3; Gray = 7; DarkGray = 8; Blue = 12; Green = 10; Cyan = 14; Red = 9; Magenta = 13; Yellow = 11; White = 15; # copied from HexDocs.pm # Blue (37 colors) Blue004 = 4; LightBlue012 = 12; FuzzyWuzzy = 17; Stratos = 17; VeryDarkBlue = 17; NavyBlue = 18; CarnationPink = 19; DukeBlue = 19; MediumBlue = 20; Orient = 24; SeaBlue = 24; Endeavour = 25; MediumPersianBlue = 25; ScienceBlue = 26; TrueBlue = 26; BlueRibbon = 27; BrandeisBlue = 27; DeepCerulean = 31; BlueCola = 32; Lochmara = 32; StrongBlue = 32; Azure = 33; AzureRadiance = 33; PureBlue = 33; Cerulean = 38; BlueBolt = 39; DeepSkyBlue = 39; VividSkyBlue = 45; Comet = 60; MostlyDesaturatedDarkBlue = 60; UclaBlue = 60; DarkModerateBlue = 61; Liberty = 61; Scampi = 61; Indigo = 62; SlateBlue = 62; CornflowerBlue = 63; HippieBlue = 67; Rackley = 67; SteelBlue = 67; HavelockBlue = 68; ModerateBlue = 68; UnitedNationsBlue = 68; Blueberry = 69; LightBlue = 69; CrystalBlue = 73; DarkModerateCyan = 73; Tradewind = 73; AquaPearl = 74; CarolinaBlue = 74; Shakespeare = 74; BlueJeans = 75; MayaBlue = 81; CoolGrey = 103; DarkGrayishBlue = 103; ShadowBlue = 103; ChetwodeBlue = 104; Ube = 104; VioletsAreBlue = 105; LightCobaltBlue = 110; PoloBlue = 110; SlightlyDesaturatedBlue = 110; FrenchSkyBlue = 111; Malibu = 111; GrayishBlue = 146; WildBlueYonder = 146; Wistful = 146; MaximumBluePurple = 147; Melrose = 147; FreshAir = 153; PaleBlue = 153; Fog = 189; PaleLavender = 189; VeryPaleBlue = 189; # Brown (17 colors) Brown = 94; GambogeOrange = 94; CopperRose = 95; DeepTaupe = 95; MostlyDesaturatedDarkRed = 95; DarkOrangeBrownTone = 130; RoseOfSharon = 130; WindsorTan = 130; DarkModerateRed = 131; ElectricBrown = 131; Matrix = 131; DarkGoldenrod = 136; PirateGold = 136; Bronze = 137; DarkModerateOrange = 137; Muesli = 137; DarkGrayishRed = 138; EnglishLavender = 138; Pharlap = 138; BuddhaGold = 142; LightGold = 142; DarkGrayishYellow = 144; Hillary = 144; Sage = 144; Chocolate = 172; HarvestGold = 172; MangoTango = 172; Copperfield = 173; RawSienna = 173; Goldenrod = 178; MustardYellow = 178; EarthYellow = 179; ModerateOrange = 179; SlightlyDesaturatedOrange = 180; Tan = 180; ClamShell = 181; GrayishRed = 181; PaleChestnut = 181; Grandis = 222; Jasmine = 222; Khaki = 222; Caramel = 223; Moccasin = 223; PaleOrange = 223; # Cyan (19 colors) Cyan006 = 6; Aqua = 14; LightCyan014 = 14; Teal = 30; BondiBlue = 37; TiffanyBlue = 37; DarkTurquoise = 44; RobinsEggBlue = 44; Juniper = 66; MostlyDesaturatedDarkCyan = 66; SteelTeal = 66; MediumTurquoise = 80; ModerateCyan = 80; Viking = 80; Aquamarine086 = 86; Aquamarine087 = 87; DarkGrayishCyan = 109; GulfStream = 109; PewterBlue = 109; PearlAqua = 115; VistaBlue = 115; Bermuda = 116; MiddleBlueGreen = 116; SlightlyDesaturatedCyan = 116; PaleCyan = 117; VeryLightBlue = 117; Aquamarine = 122; LimeGreen = 122; Anakiwa = 123; ElectricBlue = 123; VeryLightCyan = 123; Crystal = 152; GrayishCyan = 152; JungleMist = 152; AeroBlue = 158; MagicMint = 158; Celeste = 159; FrenchPass = 159; # Gray and Black (32 colors) Black000 = 0; Argent = 7; LightBlack = 8; Scorpion = 59; TaupeGray = 102; SilverFoil = 145; LightSilver = 188; VampireBlack = 232; ChineseBlack = 233; CodGray = 233; EerieBlack = 234; RaisinBlack = 235; DarkCharcoal = 236; BlackOlive = 237; MineShaft = 237; OuterSpace = 238; DarkLiver = 239; Tundora = 239; DavysGrey = 240; GraniteGray = 241; VeryDarkGray = 241; DimGray = 242; DoveGray = 242; Boulder = 243; SonicSilver = 243; PhilippineGray = 245; DustyGray = 246; SpanishGray = 247; QuickSilver = 248; PhilippineSilver = 249; SilverChalice = 249; Silver = 250; SilverSand = 251; AmericanSilver = 252; LightGray = 252; Alto = 253; Gainsboro = 253; Mercury = 254; Platinum = 254; BrightGray = 255; Gallery = 255; VeryLightGray = 255; # Green (58 colors) OfficeGreen = 2; Yellow003 = 3; ElectricGreen = 10; LightGreen010 = 10; Camarone = 22; VeryDarkLimeGreen = 22; BangladeshGreen = 23; BlueStone = 23; DarkSlateGray = 23; VeryDarkCyan = 23; Ao = 28; DeepSea = 29; SpanishViridian = 29; DarkLimeGreen = 34; IslamicGreen = 34; JapaneseLaurel = 34; GoGreen = 35; Jade = 35; PersianGreen = 36; StrongLimeGreen = 40; Malachite = 41; CaribbeanGreen042 = 42; CaribbeanGreen = 43; StrongCyan = 43; SpringGreen047 = 47; GuppieGreen = 48; MediumSpringGreen = 49; SpringGreen = 49; BrightTurquoise = 50; PureCyan = 50; SeaGreen = 50; BronzeYellow = 58; VerdunGreen = 58; VeryDarkYellowOliveTone = 58; Avocado = 64; GladeGreen = 65; MostlyDesaturatedDarkLimeGreen = 65; RussianGreen = 65; KellyGreen = 70; DarkModerateLimeGreen = 71; Fern = 71; ForestGreen = 71; PolishedPine = 72; SilverTree = 72; AlienArmpit = 76; HarlequinGreen = 76; StrongGreen = 76; ModerateLimeGreen = 77; CaribbeanGreenPearl = 78; Downy = 79; Eucalyptus = 79; BrightGreen = 82; LightLimeGreen = 83; VeryLightMalachiteGreen = 84; MediumAquamarine = 85; DarkYellowOliveTone = 100; Olive = 100; ClayCreek = 101; MostlyDesaturatedDarkYellow = 101; Shadow = 101; AppleGreen = 106; Limeade = 106; Asparagus = 107; ChelseaCucumber = 107; DarkModerateGreen = 107; BayLeaf = 108; DarkGrayishLimeGreen = 108; DarkSeaGreen = 108; Pistachio = 112; Mantis = 113; PastelGreen = 114; SlightlyDesaturatedLimeGreen = 114; Chartreuse = 118; PureGreen = 118; LightGreen = 119; ScreaminGreen = 119; VeryLightLimeGreen = 120; MintGreen121 = 121; DarkModerateYellow = 143; OliveGreen = 143; RioGrande = 148; SheenGreen = 148; VividLimeGreen = 148; Conifer = 149; JuneBud = 149; ModerateGreen = 149; Feijoa = 150; SlightlyDesaturatedGreen = 150; YellowGreen = 150; GrayishLimeGreen = 151; LightMossGreen = 151; PixieGreen = 151; Lime = 154; SpringBud = 154; GreenYellow = 155; Inchworm = 155; MintGreen = 156; VeryLightGreen = 156; Menthol = 157; PaleLimeGreen = 157; GrayishYellow = 187; GreenMist = 187; PastelGray = 187; PaleGreen = 193; Reef = 193; TeaGreen = 193; Beige = 194; Nyanza = 194; SnowyMint = 194; VeryPaleLimeGreen = 194; LightCyan = 195; OysterBay = 195; VeryPaleCyan = 195; # Orange (8 colors) StrongOrange = 166; Tenn = 166; BlazeOrange = 202; OrangeRed = 202; VividOrange = 202; AmericanOrange = 208; DarkOrange = 208; FlushOrange = 208; Coral = 209; Salmon = 209; ChineseYellow = 214; Orange = 214; PureOrange = 214; YellowSea = 214; LightOrange = 215; Rajah = 215; TexasRose = 215; HitPink = 216; MacaroniAndCheese = 216; VeryLightOrange = 216; Melon = 217; PaleRedPinkTone = 217; Sundown = 217; # Pink (24 colors) Fuchsia = 13; LightMagenta013 = 13; MexicanPink = 162; StrongPink = 162; HollywoodCerise163 = 163; Hopbush = 169; ModeratePink = 169; SuperPink = 169; Heliotrope = 171; LightMagenta = 171; MyPink = 174; NewYorkPink = 174; SlightlyDesaturatedRed = 174; CanCan = 175; MiddlePurple = 175; SlightlyDesaturatedPink = 175; DeepMauve = 176; LightOrchid = 176; SlightlyDesaturatedMagenta = 176; BrightLilac = 177; VeryLightViolet = 177; GrayishMagenta = 182; PinkLavender = 182; Thistle = 182; BrightPink = 198; Rose = 198; FashionFuchsia = 199; HollywoodCerise = 199; PurePink = 199; PureMagenta = 200; HotPink = 205; LightPink = 205; LightDeepPink = 206; PurplePizzazz = 206; PinkFlamingo = 207; ShockingPink = 207; PinkSalmon = 211; TickleMePink = 211; LavenderRose = 212; PrincessPerfume = 212; VeryLightPink = 212; BlushPink = 213; FuchsiaPink = 213; VeryLightMagenta = 213; CottonCandy = 218; LavenderPink = 218; PalePink = 218; PaleMagenta = 219; RichBrilliantLavender = 219; Shampoo = 219; Cosmos = 224; MistyRose = 224; VeryPaleRedPinkTone = 224; BubbleGum = 225; PinkLace = 225; VeryPaleMagenta = 225; # Purple, Violet and Magenta (29 colors) Patriarch = 5; ImperialPurple = 53; Pompadour = 53; VeryDarkMagenta = 53; MetallicViolet = 54; PigmentIndigo = 54; ChinesePurple = 55; DarkViolet = 55; ElectricViolet056 = 56; ElectricIndigo = 57; FrenchPlum = 89; FreshEggplant = 90; MardiGras = 90; Purple = 91; Violet = 91; FrenchViolet = 92; StrongViolet = 92; ElectricViolet = 93; PureViolet = 93; ChineseViolet = 96; MostlyDesaturatedDarkMagenta = 96; Strikemaster = 96; DarkModerateViolet = 97; Deluge = 97; RoyalPurple = 97; MediumPurple = 98; ModerateViolet = 98; Blueberry099 = 99; Flirt = 126; HeliotropeMagenta = 127; VividMulberry = 128; ElectricPurple = 129; DarkModerateMagenta = 133; PearlyPurple = 133; RichLilac = 134; LavenderIndigo = 135; LightViolet = 135; Bouquet = 139; DarkGrayishMagenta = 139; OperaMauve = 139; Lavender = 140; SlightlyDesaturatedViolet = 140; BrightLavender = 141; DeepMagenta = 164; StrongMagenta = 164; Phlox = 165; ModerateMagenta = 170; Orchid = 170; Mauve = 183; PaleViolet = 183; # Red (16 colors) Maroon = 1; LightRed = 9; BloodRed = 52; Rosewood = 52; VeryDarkRed = 52; DeepRed = 88; BrightRed = 124; DarkCandyAppleRed = 124; DarkPink = 125; JazzberryJam = 125; DarkModeratePink = 132; Tapestry = 132; TurkishRose = 132; GuardsmanRed = 160; RossoCorsa = 160; StrongRed = 160; Razzmatazz = 161; RoyalRed = 161; IndianRed = 167; ModerateRed = 167; Roman = 167; Blush = 168; Cranberry = 168; MysticPearl = 168; VividRaspberry = 197; WinterSky = 197; Bittersweet = 203; PastelRed = 203; Strawberry = 204; WildWatermelon = 204; Tulip = 210; VeryLightRed = 210; VividTangerine = 210; # White (3 colors) LightWhite = 15; Cream = 230; Cumulus = 230; VeryPaleYellow = 230; # Yellow (13 colors) LightYellow011 = 11; Citrine = 184; Corn = 184; StrongYellow = 184; ChineseGreen = 185; ModerateYellow = 185; Tacha = 185; Deco = 186; MediumSpringBud = 186; SlightlyDesaturatedYellow = 186; ChartreuseYellow = 190; PureYellow = 190; Canary = 191; MaximumGreenYellow = 191; Honeysuckle = 192; Mindaro = 192; Gold = 220; Dandelion = 221; NaplesYellow = 221; LaserLemon = 227; LightYellow = 227; Dolly = 228; PastelYellow = 228; VeryLightYellow = 228; Calamansi = 229; PaleYellow = 229; Portafino = 229; } |