vc/      !"#$%&'()*+,-.None@A Q allows to specify various pretty printing options, e.g. the maximum line width.!As the rendering functions, like pretty', take updates to an internal default , only the lenses of the  fields are exported. A custom . can be specified as in the following example: foo :: String foo = pretty config "foo bar baz" where config :: State Config () config = do cMaxLineWidth .= Just 6 cInitIndent .= 2 cIndentAfterBreaks .= 0Leaves the default Config unchanged and returns (). Convenience function defined as: defConfig = pure ()See example in pretty.yWhen a line gets longer, it is broken after the latest space, that still allows the line to remain below this maximum.WIf there is no such space, an over-long line with a single indented word is printed.FThis guarantees both progress and not to break identifiers into parts. Default: Just 80/The character used for indentation. Usually ' ' for spaces or '\t' for tabs. Default: ' ' How many & characters for one indentation level. Default: 2 How many I characters to indent additionally, when a line break occurs, because  was exceeded.Assuming the line to print has to be broken multiple times, the indentation of all resulting lines, except the first one, is increased by this amount. For example Npretty (do cMaxLineWidth .= Just 8; cIndentAfterBreaks .= 4) "foo bar baz boo" evaluates to foo bar baz boo Default: 40Indentation level to start pretty printing with. Default: 0 0Precendence level to start pretty printing with. Default: (-1)/0123456789:;< /0123456789:;< /0123456789:;< None 69;@DI[\ <The constructors of this type can be used as short forms of , , and .  Print an a: as the left argument of a mixfix operator (behaves like ).  Print an a: as the right argument of a mixfix operator (behaves like ).  Print an a: as the inner argument of a mixfix operator (behaves like ).The 7 monad is run in the pretty printing process, e.g. in  or . is internally a  monad manipulating a % and a list of pretty printed lines.9Most of the combinators from this library take values of # printable types, convert them to  () actions using :, and combine the actions in some way resulting in a new  () action.The  type class lifts z printing to binary type constructors. It can be used in special cases to abstract over type constructors which are  printable for any  printable type arguments.The  type class lifts y printing to unary type constructors. It can be used in special cases to abstract over type constructors which are  printable for any  printable type argument.`Instanciating this class for a type, declares how values of that type should be pretty printed.VAs pretty printing may depend on some context, e.g. the current indentation level, a  monad for pretty printing ( ) is used.=A default implementation is provided copying behavior from a =0 instance. This can be convenient for deriving N, e.g. for base types or debugging. The default implementation is defined by pp = pp . show.Pretty print an a as a  action. Render a  printable a to > using a , that specifies how the a should be rendered. For example 0pretty defConfig (1 :: Int) -- evaluates to "1" Render a  printable a to stdout using a , that specifies how the a should be rendered.!Convenience function, defined as: ,prettyPrint c = liftIO . putStrLn . pretty c Print an a6 with indentation increased by a certain amount of  characters.Example: pretty defConfig $ "while (true) {" \> indentedByChars 2 ("f();" \> "g();") \> "}" -- ! "while (true) { -- f(); -- g(); -- }"Same as  but increases indentation in  steps. Convenience function defined as: indented = indentedBy 1 Print an a4 as a left-associative operator of a certain fixity. Print an a5 as a right-associative operator of a certain fixity. Print an a3 as a non-associative operator of a certain fixity. Print an a+ as the left argument of a mixfix operator. Print an a, as the right argument of a mixfix operator. Print an a+ as an inner argument of a mixfix operator.?1Let the associativity annotations for arguments ( ,  ,  ) behave as the , , and  functions.@7This instance makes it possible to nest operators like (+>). Implemented as: pp = idA Behaves like =: 1.2 is printed to "1.2".B Behaves like =: 1.2 is printed to "1.2".C Behaves like =: 1 is printed to "1".DIn contrast to =, 'c' is printed as "c" and not "'c'".EIn contrast to =, "foo" is printed as "foo" and not  "\"foo\""N. Most of the other instances are defined in terms of this instance. If the > contains newline characters ('\n'u), indentation is inserted automatically afterwards. If the current line gets too long, it is automatically broken.HFGHIJKLMNOPQRST UVWXYZ[\]^(Updates for the default pretty printing .A  printable a.The pretty printed a.(Updates for the default pretty printing .A  printable a.An _ action pretty printing the a to stdout.`abcdefghijkl-Number of characters to increase indentation.A  printable aAn action printing the a with increased indentation.ONumber of indentation levels to increase. One indentation level consists of  characters.A  printable aAn action printing the a with increased indentation.A  printable aAn action printing the a indented 1 level deeper.mnop?q@ABCDE@FGHIJKLMNOPQRST UVWXYZ[\]^`abcdefghijklmnop4F GHIJKLMNOPQRST  UVWXYZ[\]^`abcdefghijklmnop?q@ABCDENone@  Print two  printable things in sequence.Example: &pretty defConfig $ "x" +> 1 -- ! "x1" Convenience function, defined as a +> b = pp a >> pp b! Print two 4 printable things in sequence, separated by a space.Example: 'pretty defConfig $ "x" ~> 1 -- ! "x 1" Convenience function, defined as a ~> b = a +> " " +> b" Print two 6 printable things in sequence, separated by a newline.Example: Jpretty defConfig $ "x" \> 1 -- ! "x 1" Convenience function, defined as a \> b = a +> "\n" +> b# Print an a between each b. Examples: pretty defConfig $ "," `betweenEach` [] -- ! "" pretty defConfig $ "," `betweenEach` ["x"] -- ! "x" pretty defConfig $ "," `betweenEach` ["x", "y"] -- ! "x,y"$ Print an a before each b. Examples: pretty defConfig $ "," `beforeEach` [] -- ! "" pretty defConfig $ "," `beforeEach` ["x"] -- ! ",x" pretty defConfig $ "," `beforeEach` ["x", "y"] -- ! ",x,y"% Print an a after each b. Examples: pretty defConfig $ "," `afterEach` [] -- ! "" pretty defConfig $ "," `afterEach` ["x"] -- ! "x," pretty defConfig $ "," `afterEach` ["x", "y"] -- ! "x,y,"&Print a [a]H as a block, meaning that the indentation level is increased, and each a is printed on a single line.Example: }pretty defConfig $ "do" ~> block ["putStrLn hello", "putStrLn world"] -- ! "do -- putStrLn hello -- putStrLn world"'Same as &+, but starts the block on the current line.Example: wpretty defConfig $ "do" ~> block' ["putStrLn hello", "putStrLn world"] -- ! "do putStrLn hello -- putStrLn world"(Print a [a] similar to its = instance.Example: 7pretty defConfig $ ppList [ "x", "y" ] -- ! "[ x, y ]")Print a list map [(k,v)] as ( , but render (k,v) pairs as "k ! v".Example: Wpretty defConfig $ ppListMap [ ("k1", "v1"), ("k2", "v2") ] -- ! "[ k1 ! v1, k2 ! v2 ]"*Print a Data.Map in the same way as ).+'Print a horizontal bar consisting of a r as long as  (or 80 if it is Nothing).Example: Lpretty defConfig $ bar '-' -- ! "----------------------------------------- &",'Print a horizontal bar consisting of a r as long as  (or 80 if it is Nothing"). The horizontal bar has a title > printed at column 6.Example: Wpretty defConfig $ titleBar '-' "Foo" -- ! "----- Foo ------------------------------- &"-Print a newline (line break)..Print a space. !"#$%stuv&'()*+,-. !"#$%stuv&'()*+,-. !"#$%stuv&'()*+,-. 5!4"3#6$6%6None/  !"#$%&'()*+,-.2  !"&' #$%()*+,-.w      !"#$%&'()*+,-./01234567 89:;<=>?@ABCDEFGEHIJKLMNOPQQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|hi}~(printcess-0.1.0.0-AfymyOzPbbd1Soq9VYFLMqPrintcess.PrettyPrintingPrintcess.ConfigPrintcess.CorePrintcess.Combinatorslens-4.14-7r1pEZqaiiGcgCHqBkPQEControl.Lens.Setter.=transformers-0.5.2.0 Control.Monad.Trans.State.StrictStateConfig defConfig cMaxLineWidth cIndentChar cIndentDepthcIndentAfterBreaks cInitIndentcInitPrecedenceAssocAnnLRIPrettyMPretty2pp2Pretty1pp1Prettypppretty prettyPrintindentedByChars indentedByindentedassocLassocRassocNleftrightinner+>~>\> betweenEach beforeEach afterEachblockblock'ppList ppListMapppMapbartitleBarnlsp_configMaxLineWidth_configInitPrecedence_configInitIndent_configIndentChar_configIndentDepth_configIndentAfterBreaksdefconfigIndentAfterBreaksconfigIndentCharconfigIndentDepthconfigInitIndentconfigInitPrecedenceconfigMaxLineWidthbaseGHC.ShowShowGHC.BaseString$fPrettyAssocAnn$fPrettyPrettyM$fPrettyDouble $fPrettyFloat $fPrettyInt $fPrettyChar $fPretty[]PrettySt _indentation _precedence_assoc _maxLineWidth_text _indentChar _indentDepth_indentAfterBreaksAssocAssocNAssocLAssocR stFromConfig runPrettyMassocindentAfterBreaks indentChar indentDepth indentation maxLineWidth precedencetextghc-prim GHC.TypesIOhead1Ltail1LcharsBeforeWordcharsBeforeWordMlines'unlines'isWSisNoWS dropWhileEnd sepByList addIndent indentByCharsindentByLevelsindentToCurPosindentedToCurPoswithPrecedenceassocDir$fPretty1AssocAnnCharsepByAsepByA_sepByL'sepByR'