śĪmĒcP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNONone!"+BHMComment with some more info.&Does the comment rest on its own line?%Information for each node in the AST.Location info from the parser. Comments which follow this node.zConfigurations shared among the different styles. Styles may pay attention to or completely disregard this configuration. )Maximum columns to fit code into ideally. How many spaces to indent? 0Remove spaces on lines that are otherwise empty? A printer style.5Name of the style, used in the commandline interface.>Author of the printer (as opposed to the author of the style).Description of the style.User state, if needed.Extenders to the printer.%Default config to use for this style.yA printer extender. Takes as argument the user state that the printer was run with, and the current node to print. Use  prettyNoExt% to fallback to the built-in printer. The state of the pretty printer.Current indentation level.The current output.Just outputted a newline?Current column.Current line number. User state.  Extenders.!4Config which styles may or may not pay attention to."/An end of line comment has just been outputted.#A pretty printing monad.&Default style configuration.)  !"#$%&PQ'  !"#$%&'#$% !"  &    !"#$%&PQNoneR Empty state.'The printer style.RS'''RS'None234EM"(Pretty printing class.)Pretty print using extenders.*£Run the basic printer for the given node without calling an extension hook for this node, but do allow extender hooks in child nodes. Also auto-inserts comments.TPrint comments of a node.+Pretty print a comment.,*Pretty print using HSE's own printer. The U class here is HSE's.-=Increase indentation level by n spaces for the given printer..+Print all the printers separated by spaces./+Print all the printers separated by commas.0(Print all the printers separated by sep.1-Print all the printers separated by newlines.2HPrint all the printers separated newlines and optionally a line prefix.3KSet the (newline-) indent level to the given column for the given printer.4Get the current indent level.5Output a newline.6HMake the latter's indentation depend upon the end column of the former.7HMake the latter's indentation depend upon the end column of the former.8Wrap in parens.9Wrap in braces.:Wrap in brackets.;Write a space.<Write a comma.=Write an integral.>>Write out a string, updating the current position information.?Write a string.@Indent spaces, e.g. 2.AColumn limit, e.g. 80BFPlay with a printer and then restore the state to what it was before.C No binds?DMaybe render a class context.EFSwing the second printer below and indented with respect to the first.V0Pretty print a name for being an infix operator.WRender an expression.XRender a declaration.Q(Y)*T+,-./0123456789:;<=>?@ABCDEVWXZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡()*+,-./0123456789:;<=>?@ABCDE()*>5;<=?D+0.12/8:9-3467E@ACB,P(Y)*T+,-./0123456789:;<=>?@ABCDEVWXZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡None3ˆ Empty state.‰A short function name.ŠColumn limit: 50FThe printer style.‹!Pretty print type signatures likedfoo :: (Show x,Read x) => (Foo -> Bar) -> Maybe Int -> (Char -> X -> Y) -> IO ()Œ0I want field updates to be dependent or newline.Right-hand sides are dependent.Ž+I want guarded RHS be dependent or newline.,I want guarded alts be dependent or newline..I want unguarded alts be dependent or newline.‘ Expressions’YSandbox and render the nodes on multiple lines, returning whether each is a single line.“Render multi-line nodes.”qSandbox and render the node on a single line, return whether it's on a single line and whether it's overflowing.•.Is the expression "short"? Used for app heads.–IIs the given expression "small"? I.e. does it fit on one line and under Š columns.—Is an expression flat?˜>Does printing the given thing overflow column limit? (e.g. 80)™>Does printing the given thing overflow column limit? (e.g. 80)š4Is the given expression a single-liner when printed?›GMake the right hand side dependent if it's flat, otherwise newline it.ˆœ‰ŠF‹ŒŽ‘’“”•–—˜™šž›FFˆœ‰ŠF‹ŒŽ‘’“”•–—˜™šž›None3HM Ÿ Empty state.GThe printer style. Number of spaces to indent by.”Printer to indent one level.¢Max number of columns per line.£Format import statements.¤AFormat contexts with spaces and commas between class constraints.„IFormat deriving clauses with spaces and commas between class constraints.¦"Format function type declarations.§ŸØG ”¢©£¤„¦Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼GG§ŸØG ”¢©£¤„¦Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼None3½ Empty state.¾A short function name.HThe printer style.æ3Handle do specially and also space out guards more.ĄHandle do specially. Case alts.ĮHandle do specially.ĀHandle do specially.ĆHandle do specially.$Implement dangling right-hand-sides.ÄSpace out tuples.Expression customizations.Å=Specially format records. Indent where clauses only 2 spaces.Ę$Use special record display, used by dataDecl in a record scenario.Ē!Fields are preceded with a space.ČIs the decl a record?É>Does printing the given thing overflow column limit? (e.g. 80)Ź4Is the given expression a single-liner when printed?Ė.Is the expression "short"? Used for app heads.ĢIs an expression flat?Ķ3Record decls are formatted like: Foo { bar :: X }½Ī¾HæĄĮĀĆÄÅĘĒČÉŹĖĢĻĶHH½ξHæĄĮĀĆÄÅĘĒČÉŹĖĢĻĶNoneEM IFormat the given source.J'Pretty print the given printable thing.KAParse mode, includes all extensions, doesn't assume any fixities.L,Test with the given style, prints to stdout.M'Test with all styles, prints to stdout.NKParse the source and annotate it with comments, yielding the resulting AST.O2Styles list, useful for programmatically choosing.ŠAnnotate the AST with comments.ŃIs the comment after the node?Ņ1Does the first span end before the second starts? IJKLMNOŠŃŅ 'FGHIJKLMNOIJK OFH'GLMN IJKLMNOŠŃŅÓ       !"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSSTUV)WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆS‰ŠY‹ŒŽX‘’“”•–—˜™Sš›SœžŸ ”¢£S¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·S‰Œø¹ŗ»XY¼½¾–˜“•æS›ĄĮĀĆ hindent-3.9 HIndent.TypesHIndent.Styles.FundamentalHIndent.PrettyHIndent.Styles.ChrisDoneHIndent.Styles.GibianskyHIndent.Styles.JohanTibellHIndentComInfocomInfoCommentcomInfoOwnLineNodeInfo nodeInfoSpannodeInfoCommentsConfigconfigMaxColumnsconfigIndentSpacesconfigClearEmptyLinesStyle styleName styleAuthorstyleDescriptionstyleInitialStatestyleExtendersstyleDefConfigExtenderCatchAll PrintState psIndentLevelpsOutput psNewlinepsColumnpsLine psUserState psExtenderspsConfig psEolCommentPrinter runPrinter defaultConfig fundamentalPrettypretty prettyNoExt printCommentpretty'indentedspacedcommasinterlined prefixedLinedcolumn getColumnnewlinedepend dependBindparensbracesbracketsspacecommaintwritestringgetIndentSpacesgetColumnLimitsandbox nullBindsmaybeCtxswing chrisDone gibiansky johanTibellreformat prettyPrint parseModetesttestAlltestAststyles$fDefaultConfig$fEqPrintStateState printCommentshaskell-src-exts-1.15.0.1Language.Haskell.Exts.Pretty prettyInfixOpexpdeclprettyInternal$fPrettyImportSpec$fPrettyImportSpecList$fPrettyModuleName$fPrettyImportDecl$fPrettyModulePragma$fPrettyModuleHead$fPrettyTyVarBind $fPrettyQOp $fPrettyQName $fPrettyName$fPrettyLiteral $fPrettyKind$fPrettyFunDep$fPrettyDataOrNew$fPrettyIPBind$fPrettyBracket$fPrettyModule$fPrettySpecialCon$fPrettyDeclHead$fPrettyInstHead$fPrettySplice $fPrettyRhs$fPrettyQualConDecl$fPrettyPatField $fPrettyMatch$fPrettyInstDecl$fPrettyGuardedRhs$fPrettyGuardedAlt$fPrettyGuardedAlts$fPrettyFieldUpdate$fPrettyFieldDecl$fPrettyConDecl$fPrettyClassDecl $fPrettyBinds$fPrettyBangType $fPrettyAsst $fPrettyAlt$fPrettyDeriving $fPrettyDecl$fPrettyQualStmt $fPrettyStmt $fPrettyIfAlt $fPrettyExp $fPrettyType $fPrettyPat$fPrettyContext shortNamesmallColumnLimit fieldupdaterhs guardedrhs guardedalt unguardedaltsandboxSinglesmultisandboxNonOverflowingisShortisSmallisFlat isOverflow isOverflowMax isSingleLinerdependOrNewlinestmtinfixApp indentSpaces indentOnce maxColumnsimpcontext derivingstypExtendattemptSingleLinesameLine collectTypesexprsletExprappExprdoExprlistExprsingleLineList multiLineList dollarExprapplicativeExpr lambdaExprrhssdeclsfunBodywriteWhereBinds isDoBlockcondecls guardedAltsalts guardedAltifAlt guardedRhs qualConDeclconDeclisRecordrecDeclannotateComments commentAfter spanBefore