i1^U      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None DFind the relative path of a child path in a parent, if it is a childCreate a Stanza from  and names of modules and pathsExtract s from a package1Find cabal files that are "above" the source path Find the  that refers to this source pathTGet (Cabal package) language and extensions from the cabal file for this source path7Get extensions from the cabal file for this source pathSafeA block of code.?Includes the starting line (indexed from 0) for error reportingZBreak 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.None $&'<KQV$%Information for each node in the AST. Location info from the parser. Comments attached to this node. !Comment associated with a node. , is the original source span of the comment.Some comment to print.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?End with a newline.Sort imports in groups.&Break line when meets these operators.-Extra language extensions enabled by default. The state of the pretty printer.XCurrent indentation level, i.e. every time there's a new-line, output this many spaces.&The current output bytestring builder.Just outputted a newline? Current column.!Current line number."2Configuration of max colums and indentation style.#9Whether we're in a case statement, used for Rhs printing.$LBail out if we need to print beyond the current line or the maximum column.&A pretty printing monad.)Parse an extension.*Default style configuration.#  !"#$%&'()*#&'( !"#$%)*     !"#$%&'(None ;<=NV]O 1+A link in a chain of operator applications.Pretty printing class.9 Pretty print including comments.*Pretty print using HSE's own printer. The  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.(Print all the printers separated by sep.-Print all the printers separated by newlines.HPrint all the printers separated newlines and optionally a line prefix.KSet the (newline-) indent level to the given column for the given printer.Output a newline.ASet the context to a case context, where RHS is printed with -> ./Get the current RHS separator, either = or -> .HMake the latter's indentation depend upon the end column of the former.Wrap.Wrap in parens.Wrap 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.FPlay with a printer and then restore the state to what it was before.%Render a type with a context, or not.#Maybe render an overlap definition.FSwing the second printer below and indented with respect to the first._Swing the second printer below and indented with respect to the first by the specified amount.:Pretty infix application of a name (identifier or symbol).0Pretty print a name for being an infix operator.Do after lambda should swing.Render an expression.Render a declaration.9Format imports, preserving empty newlines between groups._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.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?DIf the given operator is an element of line breaks in configuration.>Does printing the given thing overflow column limit? (e.g. 80)7If first printer fits, use it, else use the second one.GFlatten a tree of InfixApp expressions into a chain of operator links.8Write a Template Haskell quotation or a quasi-quotation.quotation "t" (string "Foo") > [t|Foo|]99NoneQV^vFormat the given source.3Does the strict bytestring have a trailing newline?wPrint the module.'Pretty print the given printable thing.xAParse mode, includes all extensions, doesn't assume any fixities.yTest the given file.zTest the given file.{,Test with the given style, prints to stdout.|KParse the source and annotate it with comments, yielding the resulting AST.}Default extensions.'Extensions which steal too much syntax.~*Consume an extensions list from arguments.!Traverse the structure backwards.YCollect all comments in the module by traversing the tree. Read this from bottom to top.Collect comments by satisfying the given predicate, to collect a comment means to remove it from the pool of available comments in the State. This allows for a multiple pass approach.Reintroduce comments which were immediately above declarations in where clauses. Affects where clauses of top level declarations only. vwxyz{|}~ vwx{y|z}~      !"#$%&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$hindent-5.3.4-KmbSSn07TQM9DF2ZYIgi43HIndent.CabalFileHIndent.CodeBlock HIndent.TypesHIndent.PrettyHIndentgetCabalExtensionsForSourcePath CodeBlockShebang HaskellSource CPPDirectivescppSplitBlocks$fShowCodeBlock $fEqCodeBlockNodeInfo nodeInfoSpannodeInfoComments NodeCommentCommentSameLineCommentAfterLineCommentBeforeLine SomeComment EndOfLine MultiLineConfigconfigMaxColumnsconfigIndentSpacesconfigTrailingNewlineconfigSortImportsconfigLineBreaksconfigExtensions PrintState psIndentLevelpsOutput psNewlinepsColumnpsLinepsConfig psInsideCasepsFitOnOneLine psEolCommentPrinter runPrinter readExtension defaultConfig$fFromJSONConfig$fShowNodeInfo$fApplicativePrinter$fMonadPrinter$fFunctorPrinter$fMonadStatePrinter$fMonadPlusPrinter$fAlternativePrinter$fShowSomeComment$fOrdSomeComment$fEqSomeComment$fShowNodeComment$fOrdNodeComment$fEqNodeCommentpretty$fPrettyExportSpec$fPrettyExportSpecList$fPrettyWarningText$fPrettyImportSpec$fPrettyImportSpecList$fPrettyModuleName$fPrettyImportDecl$fPrettyModulePragma$fPrettyModuleHead$fPrettyTyVarBind $fPrettyQOp$fPrettySpecialCon $fPrettyQName $fPrettyName$fPrettyLiteral$fPrettyResultSig $fPrettyKind$fPrettyFunDep$fPrettyDataOrNew$fPrettyBooleanFormula$fPrettyIPBind$fPrettyBracket$fPrettyModule$fPrettySafety$fPrettyCallConv $fPrettySign$fPrettyOverlap$fPrettyDeclHead$fPrettyInstHead$fPrettyInstRule$fPrettySplice $fPrettyRhs$fPrettyGadtDecl$fPrettyQualConDecl$fPrettyPatField $fPrettyMatch$fPrettyInstDecl$fPrettyInjectivityInfo$fPrettyGuardedRhs$fPrettyFieldUpdate$fPrettyFieldDecl$fPrettyConDecl$fPrettyClassDecl $fPrettyBinds$fPrettyUnpackedness$fPrettyBangType $fPrettyAsst $fPrettyAlt$fPrettyDerivStrategy$fPrettyDeriving$fPrettyTypeEqn $fPrettyDecl$fPrettyQualStmt $fPrettyStmt$fPrettyIPName $fPrettyExp $fPrettyType $fPrettyPat$fPrettyContext$fShowOpChainLinkreformat prettyPrint parseModetestFile testFileAsttesttestAstdefaultExtensions getExtensions toRelativemkStanza$Cabal-2.0.1.1-K7BBuT85dPfIf5Y1YG7kmdDistribution.Types.BuildInfo BuildInfopackageStanzasStanzafindCabalFilesgetCabalStanzagetCabalExtensionsMkStanza_stanzaBuildInfostanzaIsSourceFilePath.haskell-src-exts-1.20.2-8rCl2uwiCnZ8JJvUnNLkk0Language.Haskell.Exts.SrcLocSrcSpan OpChainLinkPrettypretty'Language.Haskell.Exts.Prettyindentedspacedcommasinterlined prefixedLinedcolumnnewlinewithCaseContext rhsSeparatordependwrapparensbracesbracketsspacecommaintwritestringgetIndentSpacessandboxwithCtx maybeOverlapswingswingByprettyInfixName prettyInfixOpexpdecl formatImportsdependOrNewlinerhs guardedRhscontextdecl' qualConDeclconDeclrecDeclisRecord isLineBreak fitsOnOneLineifFitsOnOneLineOrElseflattenOpChain quotation OpChainExpprettyInternalhasTrailingLinerunPrinterStyle badExtensionstraverseInOrdercollectAllCommentscollectCommentsBy!addCommentsToTopLevelWhereClauses