śĪkĻaŹ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉNone02345 *Text formatting such as bold, italic, etc. @A simple enumeration for eight values. Represents eight colors. A color; a ŹJ value means that the terminal's default color is used. The type of the Ė generally will be an  $ to represent one of 8 colors, or a Ģ! to represent one of 256 colors.&#Takes the last non-Nothing Color. Ķ is no color.8-The foreground and background color, and the a. This represents all colors and formatting attributes for either an 8- or 256-color terminal.EKFor each field, the resulting field is True if either field is True. For Ķ, every field is False.M Holds the 8% for both 8- and 256-color terminals.TUses the underlying Ī instances for  and .Y’A chunk is some textual data coupled with a description of what color the text is, attributes like whether it is bold or underlined, etc. The chunk knows what foreground and background colors and what attributes to use for both an 8 color terminal and a 256 color terminal._ Creates a Y, with no formatting and with the given text.`Uses the underlying Ī instances for the 8 and for the particular \ . Therefore ́ will have no formatting and no colors and will generally have no text, though whether or not there is any text depends on the Ķ for the type of the \.iXStores colors that may affect 8-color terminals, 256-color terminals, both, or neither.oUses the underlying Ī instance for the s. Thus the last non-Ź y is used. This can be useful to specify one color for 8-color terminals and a different color for 256-color terminals.O  !"#$%&89:;<=>?@ABCDEMNOPQRSTYZ[\]^_`aijklmnotuI   !"#$%89:;<=>?@ABCDMNOPQRSYZ[\]^_ijklmntuO&  !"#$% DCBA@?>=E89:;<SRQTMNOP^]aYZ[\`_nmijklout0    !"#$%&89:;<=>?@ABCDEMNOPQRSTYZ[\]^_`aijklmnotuNone9; vItems that can be rendered. w returns a difference list.¤*Spawns a subprocess to read the output of  tput colorsG. If this says there are at least 256 colors are available, returns £A. Otherwise, if there are at least 8 colors available, returns ¢. Otherwise, returns ”.HIf any IO exceptions arise during this process, they are discarded and ” is returned.„Like ¤ but also consults a provided Handle . If the Handle is not a terminal, ”( is returned. Otherwise, the value of ¤ is returned.¦Convert a list of Y to a list of ĻU. The length of the returned list may be longer than the length of the input list.QSo, for example, to print a bunch of chunks to standard output using 256 colors: ’kmodule PrintMyChunks where import qualified Data.ByteString as BS import Rainbow myChunks :: [Chunk String] myChunks = [ chunk "Roses" & fore red, chunk "\n", chunk "Violets" & fore blue, chunk "\n" ] myPrintedChunks :: IO () myPrintedChunks = mapM_ BS.putStr . chunksToByteStrings toByteStringsColors256 $ myChunks@To use the highest number of colors that this terminal supports: žmyPrintedChunks' :: IO () myPrintedChunks' = do printer <- byteStringMakerFromEnvironment mapM_ BS.putStr . chunksToByteStrings printer $ myChunks§ Writes a YD to standard output. Spawns a child process to read the output of  tput colors‘ to determine how many colors to use, for every single chunk. Therefore, this is not going to win any speed awards. You are better off using ¦ and the functions in Data.ByteString to print your Y%s if you are printing a lot of them.Ø Writes a YZ to standard output, and appends a newline. Spawns a child process to read the output of  tput colors‘ to determine how many colors to use, for every single chunk. Therefore, this is not going to win any speed awards. You are better off using ¦ and the functions in Data.ByteString to print your Y%s if you are printing a lot of them.©NStrings are converted first to a strict Text and then to a strict ByteString.Ŗ.Lazy ByteString is converted to strict chunks.« Strict ByteString is left as-is.¬*Converts a lazy Text to UTF-8 ByteStrings.­-Converts a strict Text to a UTF-8 ByteString.8vwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦Function that converts Y to Ļ%. This function, when applied to a Y, returns a difference list.§Ø©Ŗ«¬­3vwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø8vw­¬«Ŗ©xyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø7vwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­None 02345OT®’ƒBold. What actually happens when you use Bold is going to depend on your terminal. For example, xterm allows you actually use a bold font for bold, if you have one. Otherwise, it might simulate bold by using overstriking. Another possibility is that your terminal might use a different color to indicate bold. For more details (at least for xterm), look at xterm (1) and search for  boldColors.lIf your terminal uses a different color for bold, this allows an 8-color terminal to really have 16 colors.¶@Change the foreground color for both 8- and 256-color terminals.·@Change the background color for both 8- and 256-color terminals.øEnsures that a i… affects only a 256-color terminal. For instance, to make text that is blue on an 8-color terminal but red on a 256-color terminal: Ø $ chunk "Blue on 8, red on 256" & ¶ (½ <> ø ŗ) Š®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉ.ĪĶĢŃŅĻY_iv”¢£¤„¦§Ø®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉ(Y_®Æ°±²³“µi¶·¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉøv”¢£¤„¦§ØŠ®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉÓ      !"#$%&'()*+,-./0123456789::;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWXYYZ[\]^_`abcdefghhijklmnopqrstuvwxyz{|}?@CE>ABD~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£?@CE>ABDRQ¤ !"#$%&'r„¦§„¦Ø„©Ŗ„¦«„¦¬­®Æ°„±²„³“µ'rainbow-0.28.0.2-COwzSXPFxqE7AcZ9kilfiZ Rainbow.TypesRainbow.TranslateRainbowFormat_bold_faint_italic _underline_blink_inverse _invisible _strikeoutEnum8E0E1E2E3E4E5E6E7Color enum8toWord8blackredgreenyellowbluemagentacyanwhitegrey brightRed brightGreen brightYellow brightBlue brightMagenta brightCyan brightWhite $fMonoidColor $fEqColor $fShowColor $fOrdColor$fGenericColor$fFunctorColor$fFoldableColor$fTraversableColor $fEqEnum8 $fOrdEnum8 $fShowEnum8$fBoundedEnum8 $fEnumEnum8$fGenericEnum8 $fShowFormat $fEqFormat $fOrdFormat$fGenericFormatStyle_fore_back_formatblinkboldfaintinverse invisibleitalic strikeout underline$fMonoidFormat $fShowStyle $fEqStyle $fOrdStyle$fGenericStyle$fFunctorStyle$fFoldableStyle$fTraversableStyleScheme_style8 _style256backforeformat $fMonoidStyle $fEqScheme $fOrdScheme $fShowScheme$fGenericSchemeChunk_scheme_yarnstyle256style8chunk $fMonoidChunk$fMonoidScheme $fEqChunk $fShowChunk $fOrdChunk$fGenericChunk$fFunctorChunk$fFoldableChunk$fTraversableChunkRadiant_color8 _color256schemeyarn$fMonoidRadiant $fEqRadiant $fOrdRadiant $fShowRadiant$fGenericRadiantcolor256color8 Renderablerendersingleescapecsisgrparams sgrSingle sgrDouble normalDefault foreBlackforeRed foreGreen foreYellowforeBlue foreMagentaforeCyan foreWhite foreDefault backBlackbackRed backGreen backYellowbackBlue backMagentabackCyan backWhite backDefaultfore256back256 foreColor8 backColor8 renderFormat renderStyle8renderStyle256toByteStringsColors0toByteStringsColors8toByteStringsColors256byteStringMakerFromEnvironmentbyteStringMakerFromHandlechunksToByteStringsputChunk putChunkLn$fRenderable[]$fRenderableByteString$fRenderableByteString0$fRenderableText$fRenderableText0only256baseGHC.BaseNothingMaybeGHC.WordWord8memptyMonoidbytestring-0.10.8.1Data.ByteString.Internal ByteString formatBoth Data.Monoid<> Data.Function&