úÎ…IÍ<      !"#$%&'()*+,-./0123456789:;Safe CDescribe a value (e.g. direction or position) on the vertical axis.Means  at the top. Means either inbetween top and bottom (in context of ) or (vertically) centered (in context of vAlign).Means  at the bottom.EDescribe a value (e.g. direction or position) on the horizontal axis. Means either  on the left (in context of ) or  to the left (in context of hAlign). Means either inbetween left and right (in context of ) or (horizontally) centered (in context of hAlign). Means either  on the right (in context of ) or  to the right (in context of hAlign).aDescribes a styled box character. You can use any data type to represent a style as long as the charset of your Config supports it.0Be careful with all these getter functions like  " as they are not complete. (E.g.   (  ())$ will fail with an exception error.) +Represents a box character in the shape of |. +Represents a box character in the shape of  . #Represents any other box character.Imagine a 2x2 table. The  and  use the AlignF data type to describe the position of the angled box character this   constructor represents.E.g.    foo  bar represents an Li-like shaped box character as that's the shape of the character at the bottom-left edge of a 2x2 table.Another example:    / describes a box character shaped like a plus +.        SafeUsage example:ŒputStr (hable defaultConfig { charset = vLineIndexCharset, vLineStyle = const Just, hLineStyle = const Just } [["foo","bar"],["baz","qux"]]) 1-----2-----3 1 foo 2 bar 3 1-----2-----3 1 baz 2 qux 3 1-----2-----3Usage example:ŒputStr (hable defaultConfig { charset = hLineIndexCharset, vLineStyle = const Just, hLineStyle = const Just } [["foo","bar"],["baz","qux"]]) 1111111111111 | foo | bar | 2222222222222 | baz | qux | 3333333333333SafeA charset based on the syntax of Emacs'  http://orgmode.org/Org-Mode spreadsheet. It uses +, - and | and ignores any style.An example output:tputStr (hable myConfig { charset = orgModeCharset, hStyleAt = \_ _ -> Just (), vStyleAt = \_ _ -> Just () } myTable)I|----------------------+------------------------------------------------|I| Name | Hable |I|----------------------+------------------------------------------------|I| Synopsis | customizable pretty printer library for tables |I|----------------------+------------------------------------------------|I| License | Public Domain / Unlicense |I|----------------------+------------------------------------------------|SafeNThis module uses a style data type supporting normal, double and thick lines.charsetR. Unfortunately, there is not a Unicode box character for all possible values of  Unicode0. In case of such an input, an error is thrown.:If you'd prefer an alternative behavior in that case, use .An example output:putStr (hable myConfig myTable)I%R%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%d%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%UI% Name % Hable %I%^%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%j%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%aI% Synopsis % customizable pretty printer library for tables %I% License % Public Domain / Unlicense %I%%%%%%%%%%%%%%%%%%%%%%%%4%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1Maybe returns a character representing the given  with Unicode box characters.SafeHable Configuration. Horizontal line style.`The first argument is the index of the last possible horizontal line (i.e. number of rows + 1).>The second argument receives the index of any horizontal line.If <G is returned, the horizontal line will be collapsed / hidden here. If =^ a style is returned, this style will be used for the horizontal parts of the box character ().!Vertical line style.^The first argument is the index of the last possible vertical line (i.e. number of rows + 1).<The second argument receives the index of any vertical line.If <E is returned, the vertical line will be collapsed / hidden here. If =\ a style is returned, this style will be used for the vertical parts of the box character ()."Horizontal Alignment.%The argument is the index of any row.If T is returned, the content of the cells in this row will be aligned to the left. If I is returned, the content of the cells in this row will be centered. If Q is returned, the content of the cells in this row will be aligned to the right.#/Vertical Alignment in case of multi-line cells.(The argument is the index of any column.If V is returned, the content of the cells in this column will be aligned to the top. If L is returned, the content of the cells in this column will be centered. If U is returned, the content of the cells in this column will be aligned to the bottom.$Horizontal padding.ƒThe number of spaces to be inserted between the cell content and the vertical lines on both the left and the right side of a cell.%Charset.'The argument is a styled box character %. The style of it was calculated by hable using the   and !# properties of your configuration.9Returns a character (as string) to be used for the lines.&6The default configuration uses Unicode box characters.  !"#$%&  !"#$%&  !"#$%& !"#$%&Safe'wA wrapper for any other style, adding an option of a fore- as well as a background color to it. For the color fields, <1 represents an unchanged/unmodified/unset color.,\Represents the eight colors supported by most terminal emulators through ANSI escape codes.5Add colors to a configuration.6The first argument may be a foreground color. If it's <$, the foreground won't be modified.7The second argument may be a background color. If it's <$, the background won't be modified.6The third argument is the configuration to be colored.6Given a %;, returns another new one which supports colors through a ' style.BAn example which circles the colors of the horizontal lines using > ´>>> putStr (hable defaultConfig { charset = colored8Charset (charset defaultConfig), vLineStyle = _ _ -> Nothing, hLineStyle = m n -> fmap (Colored8 (Just (toEnum (fromInteger ((n >D 6) + 1)))) Nothing) $ vLineStyle defaultConfig m n } exampleTable) FUnfortunately, you wouldn't see the colors here, so there's a picture: http://i.imgur.com/lts5T18.pnghable7A generalization of 6F. Instead of simply using choosing the vertical color components for  ¨ box characters, you can pass your own function to decide which color to choose in this case. E.g. you could write a function which uses a completely different color."All in all, the first argument of genColored8charsetD is a function. Its arguments are the same as the arguments of the   constructor.8Wraps a ?F into the ANSI escape codes of the given fore- and background colors.'()*+,-./012345678'()*+,-./012345678,-./01234'()*+5678'()*+,-./012345678Safe;GPretty-prints a row-wise given table using a given Hable Configuration.@SRespecting the configuration, either inserts a horizontal line or an empty string.A;Respecting the configuration, inserts the content of a row.B An example:intersperseIndex "abc"G[Left 1,Right (1,'a'),Left 2,Right (2,'b'),Left 3,Right (3,'c'),Left 4]¹I.e. it adds the index to each element of the given list using pairs and adds the index of an element right before it and notably also at the and of the list, if you know what I mean.C,The first argument has to be either of type  or . In case of ‡, calculates the missing spaces on the left and right to horizontally align a content with the given aimed width and the actual width. In case of ‹, calculates the missing blank lines at the top and bottom to vertically align a content with the given aimed width and the actual width.;Hable Configuration#Row-wise table to be pretty-printedPretty-printed table@ABC&;;&;@ABCD      !"#$%&&'()*+,-../0123456789:;<=>?@ABCDBCEBFGBCHIJKLM"hable-0.3.1-HHPjZjYvVCTGOosjFKfHdE Hable.BoxCharHable.Style.LineIndexHable.Style.OrgModeHable.Style.Unicode Hable.ConfigHable.Style.Colored8HableVAxisVTopVCenterVBottomHAxisHLeftHCenterHRightBoxCharBarDashAngledbcVStylebcHStylebcHPosbcVPos $fEnumHAxis $fEnumVAxisLineIndexStylevLineIndexCharsethLineIndexCharset OrgModeStyleorgModeCharset UnicodeStyleNormalDoubleThickunicodeCharsetmaybeUnicodeCharset$fShowUnicodeStyleConfig hLineStyle vLineStylehAlignvAlignhPaddingcharset defaultConfigColored8 foreground background colored8StyleColor8BlackRedGreenYellowBlueMagentaCyanWhitecolored8Configcolored8CharsetgenColored8Charset color8String $fEqColor8 $fEnumColor8hablebaseGHC.BaseNothingJustGHC.RealmodString insertHLine insertRowintersperseIndexalign