G0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$% & ' ( ) * + , - . / None #%&0:IOT#Comment with some more info.The normal comment type.,Where the comment lies relative to the node.Comment relative locations.%Information for each node in the AST. Location info from the parser. )Comments which are attached to 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.!Preprocessor to use for comments.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.'9Whether we're in a case statement, used for Rhs printing.($Mode used to parse the original AST.);Preprocessor applied to comments on an AST before printing.*A pretty printing monad.-Default style configuration./  !"#$%&'()*+,-..  !"#$%&'()*+,-.*+, !"#$%&'() -      !"#$%&'()*+,-.None< Empty state.>The printer style.<=><=><=><=>None9:;LT[*?Pretty printing class.@Pretty print using extenders.ARun 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.BPrint comments of a node.CPretty print a comment.D*Pretty print using HSE's own printer. The 0 class here is HSE's.EGet the user state.FPut the user state.GModify the user state.H=Increase indentation level by n spaces for the given printer.I+Print all the printers separated by spaces.J+Print all the printers separated by commas.K(Print all the printers separated by sep.L-Print all the printers separated by newlines.MHPrint all the printers separated newlines and optionally a line prefix.NKSet the (newline-) indent level to the given column for the given printer.OGet the current indent level.PGet the current line number.QOutput a newline.RASet the context to a case context, where RHS is printed with -> .S/Get the current RHS separator, either = or -> .THMake the latter's indentation depend upon the end column of the former.UHMake the latter's indentation depend upon the end column of the former.VWrap in parens.WWrap in braces.XWrap in brackets.YWrite a space.ZWrite a comma.[Write an integral.\>Write out a string, updating the current position information.]Write a string.^Indent spaces, e.g. 2._Column limit, e.g. 80`FPlay with a printer and then restore the state to what it was before.a No binds?bMaybe render a class context.1#Maybe render an overlap definition.cFSwing the second printer below and indented with respect to the first.d_Swing the second printer below and indented with respect to the first by the specified amount.20Pretty print a name for being an infix operator.3Render an expression.4Render a declaration.\?5@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab1cd234efghijklmnopqrstuvwxyz{|}~&?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd&?@AEFG\QYZ[]bCBRSKILMJVXWHNOPTUcd^_a`D[?5@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab1cd234efghijklmnopqrstuvwxyz{|}~None!":&6Syntax shortcut for Extenders.7Printer state.8Current line breaking mode9Padding length for pragmas:!Padding length for module imports; Padding length for record fields<.Line breaking mode for syntactical constructs.=Break whenever>Force single line (if possible)?Force multiple linesStyle definition.@Return an ast node's SrcSpan.ATurn a Name into a StringB^The difference between current column and indent level to force a line break in reduceIndent.C.Extract the name as a String from a ModuleNameD#Extract the names of a ModulePragmaE7Return whether a data type has only empty constructors.F<Return whether a data type has only zero or one constructor.GiIf the given String is smaller than the given length, pad on right with spaces until the length matches.H'Return comments with matching location.I8Copy comments marked After from one AST node to another.J3Return the number of line breaks between AST nodes.KSpecialized forM_ for Maybe.LFSimplified HIndent.Pretty.inter that does not modify the indent level.MGSimplified HIndent.Pretty.spaced that does not modify the indent level.NIndent one level.OIndent a half level.P(Set indentation level to current column.Q5Update the line breaking mode and restore afterwards.ReUse the first printer if it fits on a single line within the column limit, otherwise use the second.SSame as attemptSingleLine, but execute the second printer in Multi mode. Used in type signatures to force either a single line or have each `->` on a line by itself.T.Format a list-like structure on a single line.UDFormat a list-like structure with each element on a line by itself.VaFormat a list-like structure on a single line, if possible, or each element on a line by itself.WFormat a list-like structure, automatically breaking lines when the next separator and item do not fit within the column limit.XNLike `inter newline . map pretty`, but preserve empty lines between elements.Y`reduceIndent short long printer` produces either `short printer` or `newline >> indentFull (long printer)`, depending on whether the current column is sufficiently near to the current indentation depth.xThe function is used to avoid overly big dependent indentation by heuristically breaking and non-dependently indenting.Z0Pretty print a name for being an infix operator.F67[89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY\]^Z_`abcdefghijklmnopqrstuvwxyz>67[89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY\]^Z_`abcdefghijklmnopqrstuvwxyzNone!":OT Empty state.The printer style.Break a comment string into lines of a maximum character length. Each line starts with a space, mirroring the traditional way of writing comments:- Hello- Note the space after the {Number of spaces to indent by.Printer to indent one level.{How many exports to format in a single line. If an export list has more than this, it will be formatted as multiple lines.Format whole modules..Format pragmas differently (language pragmas).Format patterns.Format import statements.Return the number of columns between the start and end of a printer. Note that if it breaks lines, the line break is not counted; only column is used. So you probably only want to use this for single-line printers.AFormat contexts with spaces and commas between class constraints.IFormat deriving clauses with spaces and commas between class constraints."Format function type declarations.FFFCNoneLOTAnnotate the AST with comments.None:+A link in a chain of operator applications. Empty state.A short function name.Column limit: 50The 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.Right-hand sides are dependent.Unguarded case alts.6Decide whether to do alts or rhs based on the context.+I want guarded RHS be dependent or newline.,I want guarded alts be dependent or newline. ExpressionsYSandbox 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.9Is the given expression "small"? I.e. does it fit 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)GFlatten a tree of InfixApp expressions into a chain of operator links.GMake the right hand side dependent if it's flat, otherwise newline it.None:  Empty state. A short function name. The printer style._Make the right hand side dependent if it fits on one line, otherwise send it to the next line.<Handle do and case specially and also space out guards more.Handle do specially.$Implement dangling right-hand-sides.Space out tuples.Expression customizations.AFormat contexts with spaces and commas between class constraints.!Pretty print type signatures likeefoo :: (Show x, Read x) => (Foo -> Bar) -> Maybe Int -> (Char -> X -> Y) -> IO ()=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.3Record decls are formatted like: Foo { bar :: X }Is the decl a record?>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? .Is the expression "short"? Used for app heads.!Is an expression flat?",rhs on field update on the same line as lhs.     !"#$     !"#$     !"#$     !"#$ NoneLOT %Format the given source.|ZBreak a Haskell code string into chunks, using CPP as a delimiter. Lines that start with '#if', '#end', or '#else'O are their own chunks, and also act as chunk separators. For example, the code -#ifdef X x = X y = Y #else x = Y y = X #endifUwill become five blocks, one for each CPP line and one for each pair of declarations.&Print the module.}'Pretty print the given printable thing.'AParse mode, includes all extensions, doesn't assume any fixities.(Test the given file.),Test with the given style, prints to stdout.*'Test with all styles, prints to stdout.+KParse the source and annotate it with comments, yielding the resulting AST.,2Styles list, useful for programmatically choosing.-Default extensions.~'Extensions which steal too much syntax.%|&}'()*+,-~> %&'()*+,-%&', >)(*+- %|&}'()*+,-~      !!"#$%&'()*+,-../0123456789:;<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??????               A? !"#$%&'()*+,-./0MK123456789:;?<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z [ \ ] ^ _`$hindent-4.6.2-HqPTb9x42Tp36zhF8MTWiF HIndent.TypesHIndent.Styles.FundamentalHIndent.PrettyHIndent.Styles.CramerHIndent.Styles.GibianskyHIndent.CommentsHIndent.Styles.ChrisDoneHIndent.Styles.JohanTibellHIndentComInfocomInfoCommentcomInfoLocationComInfoLocationBeforeAfterNodeInfo nodeInfoSpannodeInfoCommentsConfigconfigMaxColumnsconfigIndentSpacesconfigClearEmptyLinesStyle styleName styleAuthorstyleDescriptionstyleInitialStatestyleExtendersstyleDefConfigstyleCommentPreprocessorExtenderCatchAll PrintState psIndentLevelpsOutput psNewlinepsColumnpsLine psUserState psExtenderspsConfig psEolComment psInsideCase psParseModepsCommentPreprocessorPrinter runPrinter defaultConfig$fDefaultConfig$fApplicativePrinter$fMonadPrinter$fFunctorPrinter$fMonadStatePrinter$fMonadPlusPrinter$fAlternativePrinter$fShowComInfoLocation$fDataComInfoLocation$fEqComInfoLocation $fShowComInfo $fDataComInfo$fShowNodeInfo$fDataNodeInfoState fundamentalPrettypretty prettyNoExt printComments printCommentpretty'getStateputState modifyStateindentedspacedcommasinterlined prefixedLinedcolumn getColumn getLineNumnewlinewithCaseContext rhsSeparatordepend dependBindparensbracesbracketsspacecommaintwritestringgetIndentSpacesgetColumnLimitsandbox nullBindsmaybeCtxswingswingBy$fPrettyExportSpec$fPrettyExportSpecList$fPrettyWarningText$fPrettyImportSpec$fPrettyImportSpecList$fPrettyModuleName$fPrettyImportDecl$fPrettyModulePragma$fPrettyModuleHead$fPrettyTyVarBind $fPrettyQOp $fPrettyQName $fPrettyName$fPrettyLiteral $fPrettyKind$fPrettyFunDep$fPrettyDataOrNew$fPrettyIPBind$fPrettyBracket$fPrettyModule $fPrettySign$fPrettyOverlap$fPrettySpecialCon$fPrettyDeclHead$fPrettyInstHead$fPrettyInstRule$fPrettySplice $fPrettyRhs$fPrettyQualConDecl$fPrettyPatField $fPrettyMatch$fPrettyInstDecl$fPrettyGuardedRhs$fPrettyFieldUpdate$fPrettyFieldDecl$fPrettyConDecl$fPrettyClassDecl $fPrettyBinds$fPrettyBangType $fPrettyAsst $fPrettyAlt$fPrettyDeriving $fPrettyDecl$fPrettyQualStmt $fPrettyStmt $fPrettyExp $fPrettyType $fPrettyPat$fPrettyContextcramer $fEqLineBreak$fEnumLineBreak$fShowLineBreak $fShowStateExtendgibianskyForceSingleLinegibianskyLetBinduserGets userModify gibianskycommentContentcommentSrcSpancommentPreprocessorbreakCommentLinesdropTrailingNewlines indentSpaces indentOncemaxSingleLineExportsattemptSingleLinemodlskipFollowingNewlinepragmaspatimpprettyColLengthcontext derivingstyp writeTuplesameLine collectTypesexprs multiIfExprletExpr keepingColumnappExprdoExprlistExprsingleLineList multiLineList dollarExprapplicativeExpropExpr lambdaExprcaseExprlambdaCaseExprifExpr writeCaseAltsprettyCommentCallbacks recUpdateExprcommaAfterCommentrhsslineBreakAfterRhs guardedRhsrhsReststmtsdecls qualConDeclfunBodywriteWhereBindsonSeparateLinesonSeparateLines'fixSpans astStartLine isDoBlockcondecls hasCommentsalt moduleHead exportList lineDelta fieldUpdate OrderByEnd OrderByStartannotateComments$fOrdOrderByEnd$fOrdOrderByStart$fEqOrderByStart$fEqOrderByEnd OpChainLink OpChainExp shortNamesmallColumnLimit chrisDonetypesdecl fieldupdaterhs unguardedrhs unguardedaltcontextualGuardedRhs guardedrhs guardedaltstmtexpsandboxSinglesmultisandboxNonOverflowingisShortisSmallisSmallFittingisFlat fitsOnOneLinefitsInColumnLimitinfixAppflattenOpChaindependOrNewline$fShowOpChainLink johanTibellmatch unboxParensconDeclrecDeclisRecord isOverflow isSingleLiner bindingGroupreformat prettyPrint parseModetestFiletesttestAlltestAststylesdefaultExtensions$fShowCodeBlock $fEqCodeBlock-haskell-src-exts-1.17.1-EVgZrlI1sasBCl8l6mkg2Language.Haskell.Exts.Pretty maybeOverlap prettyInfixOpprettyInternalcramerLineBreakcramerLangPragmaLengthcramerModuleImportLengthcramerRecordFieldLength LineBreakFreeSingleMulti nodeSrcSpannameStrmaxDependOverhead moduleName pragmaNamesisEnumisSingletonTypepadRightfilterComments copyCommentsmaybeM_ indentFull indentHalfalign withLineBreakattemptSingleLineTypelistSingleLine listMultiLinelistAttemptSingleLine listAutoWrappreserveLineSpacing reduceIndent whereBindsrhsExprguardedRhsExpr tupleExpr recordExpr infixExprtypeSig typeInfixExpr extModuleextModulePragma extModuleHeadextExportSpecList extImportDeclextDecl extDeclHead extConDecl extFieldDecl extDerivingextRhs extContextextTypeextPatextExpextStmtextMatchextBindsextFieldUpdatebaseGHC.Num-cppSplitBlocksrunPrinterStyle badExtensions CodeBlock HaskellSource CPPDirectives