<      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe4 An efficient  builder. Construct a  from a . Construct a  from a . Convert a  to a .Append two monoidal results.%Concat zero or more monoidal results.$Concat one or more monoidal results. version of . version of . version of . version of . version of . version of .span start end escape% parses a span of text starting with start and ending with end, with possible escape sequences inside.matchedPair start end escape parses span start end escape, including the surrounding start and end characters.Safe-A class of types which may be pretty-printed.Pretty-print to a .QPretty-print a list. By default, this separates each element with a space using .Pretty-print to a .  SafeString operators.4Select the first element that succeeds from a table.Select an operator from the  it represents.Render an operator.Safe+35,A process substitution. < >A string direction. A letter case operator. An alternation operator., :-'=', :=?, :?, :+A parameter substitution.The parameter to substitute.Use indirect expansion.(Test for both existence and null values. The operator.The alternate word.The substring offset.The substring length, if any.The variable prefix. Either @ of *.$8Replace the longest match instead of the shortest match.%Where to delete from.&The replacement pattern.(Replace all occurences.)Where to replace.*The replacement string.,$Convert to lowercase, not uppercase.-5Convert all characters, not only the starts of words..'A parameter name an optional subscript.0An individual unit of a word.1A normal character.2An escaped character.3A single-quoted string.4A double-quoted string.5A ANSI C string.6A locale-translated string.7HA backquote-style command substitution. To extract the command string, > the word inside.8A parameter substitution.9An arithmetic substitution.:A command substitution.;A process substitution.<*A Bash word, broken up into logical spans.=%Convert a string to an unquoted word.>*Remove all quoting characters from a word.H  !"#$%&'()*+,-./0123456789:;<=>;  !"#$%&'()*+,-./0123456789:;<=>J<0123456789:;./!"#'+ $%&()&*,-&   =>  *!"#'+ $%&()&*,-&./0 123456789:;<=>SafeG?A tilde prefix.@ ~/fooA  ~fred/fooB ~+/fooC ~-/fooD~N, ~+N, ~-NA parser over words.Backtracking choice.Run a , failing on a parse error.Parse a general token.3Parse an unquoted character satisfying a predicate.3Parse an unquoted character satisfying a predicate.FParse a span that is not an unquoted character satisfying a predicate.Parse an unquoted character.Parse an unquoted string. "Parse one of the given characters. &Parse anything but a quoted character. Read a number. Read a letter. ACreate a list from a start value, an end value, and an increment.EBrace expand a word.F)Strip the tilde prefix of a word, if any.GSplit a word on delimiters.?@ABCD     EFG ?@ABCDEFG E?@ABCDFG?@ABCD     EFGSafe+-./4A parser over lists of strings.HBinary conditional operators.I -efJ -ntK -otL =~M==, =N !=O <P >Q -eqR -neS -ltT -leU -gtV -geWUnary conditional operators.X -bY -cZ -d[-e, -a\ -f] -g^ -k_ -p` -ra -sb -tc -ud -we -xf -Gg-L, -hh -Ni -Oj -Sk -ol -vm -zn-n string or stringoBash conditional expressions.Parse a token.Parse a specific word.Parse any word.Parse in parentheses.Parse a nullary expressionParse a unary expression.$Parse a standalone unary expression.Parse a binary expression.Parse a binary -a or -o expression.Parse a conditional expression.u,Parse a conditional expression for the Bash test builtin.>HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu.HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu.opqrstWXYZ[\]^_`abcdefghijklmnHIJKLMNOPQRSTUVuHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuSafe+Iv The right side of an assignment.wA simple word.xAn array assignment, as (subscript, word) pairs.yAn assignment operator.z ={ +=|An assignment.~5A (possibly timed or inverted) pipeline, linked with | or |&. if the pipeline is timed with time.# if the pipeline is timed with the -p flag." if the pipeline is inverted with !.!A list of commands, separated by |, or |&. command1 |& command2 is treated as a shorthand for command1 2>&1 | command2.&A right-associative list of pipelines.The last pipeline of a list.A && construct.A || construct.A statement terminator. ; &A single statement in a list.A compound list of statements.A here document operator. << <<-A redirection operator. < > >| >> &> &>> <<< <& >& <>A redirection file descriptor.A file descriptor number. A variable {varname}# to allocate a file descriptor for.A redirection.A redirection.An optional file descriptor.The redirection operator.The redirection target.A here document.The here document operator.The here document delimiter. if the delimiter was quoted.The document itself, if the delimiter was quoted, no expansions are parsed. If the delimiter was not quoted, parameter, arithmetic and command substitutions take place.A case clause terminator. ;; ;& ;;&A single case clause.A word list or "$@".A Bash command.=A simple command consisting of assignments followed by words.The shell builtins declare, eval, export, local, readonly, and typeset4 can accept both assignments and words as arguments.A function name and definition.A named coprocess.A (...) list, denoting a subshell.A {...} list.An arithmetic expression.A Bash [[...]] conditional expression.A for name in words command. If in words' is absent, the word list defaults to "$@".An arithmetic  for ((...)) command.A select name in words command. If in words' is absent, the word list defaults to "$@".A case command.An if: command, with a predicate, consequent, and alternative. elif clauses are parsed as nested if statements.An until command.A while command.!A Bash command with redirections. Indent by 4 columns.! Render a  do...done block.gvwxyz{|}~ !"#$%&'()*+,-./01234567Ovwxyz{|}~O~|}yz{vwx)vwxyz{|}~   !"#$%&'()*+,-./01234567Safe48surroundBy p sep# parses zero or more occurences of p', beginning, ending, and separated by sep.9upTo n p parses zero to n occurences of p.: upTo1 n p parses one to n occurences of p.;Parse a span until a delimeter.<Parse a matched pair. Skip spaces, tabs, and comments.=Parse a single-quoted string.>Parse a double-quoted string.?Parse an ANSI C string.@Parse a locale string.AParse a backquoted string.Parse an arithmetic expression.B#Parse a parenthesized substitution.CParse a dollar substitution.DParse a parameter substitution.EParse a process substitution.F(Parse any span that may occur in a word. Parse a word.RParse a here document as a word. This parses substitutions, but not most quoting.Parse a parameter name.GParse a special parameter name.Parse a subscript.Parse an assignment.1Parse the longest available operator from a list.89:; DelimitersRemove escaped newlines Inner spans<Start character End characterRemove escaped newlines Inner spans=>?@ABCDEFG89:;<=>?@ABCDEFG Safe 3457GUHA stream with memoized results.IA token.JA memoized result.K%Build a parser from a field accessor.L(Obtain a result from a stateless parser.M&Run a parser, merging it with another.NCreate a source from a string.O'Parse a value satisfying the predicate.PShell reserved words.QMShell assignment builtins. These builtins can take assignments as arguments.RAll Bash operators.SParse a descriptor.TParse a single token.UParse any word.VParse the given word.WParse a reversed word.X"Parse a word that is not reserved.YParse an assignment builtin.Z#Parse a redirection word or number.[Parse a variable name.\Parse any operator.]Parse a given operator.^Parse an assignment._Parse an arithmetic expression.`$Reparse a here document into a word.#HabcdefgIhiJKLMNOPQRSTUVWXYZ[\]^_`jHNOUVWXYZ[\]^_`HabcdefgIhiJKLMNOPQRSTUVWXYZ[\]^_`jSafe#kBash parser type.l User state.FParse a script or input line into a (possibly empty) list of commands.mBacktracking choice.nName a parser from the front.oParse the next here document.p-Parse a newline, skipping any here documents.qParse a list terminator.rSkip zero or more newlines.sSkip a redirection.tSkip a list of redirections.uParse part of a command.vParse a simple command.wA list with one command.xAn unmodified pipeline.yParse a pipeline.z"Parse a compound list of commands.{1Parse a possible empty compound list of commands.|8Parse a command group, wrapped either in braces or in a  do...done block.}Parse a compound command.~Parse a case command.Parse a while command. Parse an until command.Parse a list of words for a for or select command.Parse a for command.Parse a select command. Parse an if command.Parse a subshell command.Parse a command group.Parse an arithmetic command.Parse a conditional command.Parse a coprocess command.Parse a function definition.Parse a single command.;Parse an entire script (e.g. a file) as a list of commands.%klmnopqrstuvwxyz{|}~#klmnopqrstuvwxyz{|}~mn    !"#$%&'()*+,-./01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|};F        !"#$%&'()*+,-./0123456789:;<= > ? @ A B C D E F G H I   J K L M N > O P Q R S T U V WXYZ[\]^_`abcdefghijklmnopqrstuvwXxylangu_JYhIN7ddEwY82ZclZyZM71Language.Bash.PrettyLanguage.Bash.WordLanguage.Bash.ExpandLanguage.Bash.CondLanguage.Bash.SyntaxLanguage.Bash.Parse.WordLanguage.Bash.ParseLanguage.Bash.Parse.BuilderLanguage.Bash.OperatorLanguage.Bash.Parse.InternalPrettypretty prettyList prettyTextProcessSubstOp ProcessIn ProcessOut DirectionFrontBack LetterCaseOpToLowerToUpperAltOp AltDefault AltAssignAltError AltReplace ParamSubstBare parameterBraceindirectAlttestNullaltOpaltWord Substring subOffset subLengthPrefixprefixmodifierIndicesLengthDeletelongestdeleteDirectionpatternReplace replaceAllreplaceDirection replacement LetterCase letterCaseOp convertAll ParameterSpanCharEscapeSingleDoubleANSICLocale Backquote ArithSubst CommandSubst ProcessSubstWord fromStringunquote TildePrefixHomeUserHomePWDOldPWDDirs braceExpand tildePrefix splitWordBinaryOpSameFile NewerThan OlderThanStrMatchStrEQStrNEStrLTStrGTArithEQArithNEArithLTArithLEArithGTArithGEUnaryOp BlockFile CharacterFile Directory FileExists RegularFileSetGIDSticky NamedPipeReadableFileSizeTerminalSetUIDWritable Executable GroupOwned SymbolicLinkModified UserOwnedSocketOptnameVarname ZeroString NonzeroStringCondExprUnaryBinaryNotAndOr parseTestExprRValueRArrayAssignOpEquals PlusEqualsAssignPipelinetimed timedPosixinvertedcommandsAndOrLastListTerm Sequential Asynchronous StatementList HeredocOpHere HereStripRedirOpInOutOutOrAppendAndOut AndAppend HereStringInAndOutAndInOutIODescIONumberIOVarRedir redirDescredirOp redirTargetHeredoc heredocOp heredocDelimheredocDelimQuoted hereDocumentCaseTermBreak FallThroughContinue CaseClauseWordListArgs ShellCommand SimpleCommand AssignBuiltin FunctionDefCoprocSubshellGroupArithCondForArithForSelectCaseIfUntilWhileCommand skipSpacearithword heredocWordname subscriptassignoperatorparseBuilderbaseGHC.BaseStringfromCharghc-prim GHC.TypestoString<+>manymany1oneOfparse_AqYX0bfDxT5E4cHIEfeJINText.Parsec.CharnoneOfcharanyCharsatisfystringspan matchedPairprett_7UQTOB05U7lIYPkFOVraeRText.PrettyPrint.HughesPJDochsep$fPrettyEither $fPrettyMaybe $fPrettyChar $fPrettyDoc $fPretty[]OperatorselectselectOperatorprettyOperator operatorTableGHC.Num-+prettyParameter twiceWhen$fPrettyProcessSubstOp$fOperatorProcessSubstOp$fPrettyDirection$fPrettyLetterCaseOp$fOperatorLetterCaseOp $fPrettyAltOp$fOperatorAltOp$fPrettyParamSubst$fPrettyParameter $fPrettySpan $fIsString[]Parser parseUnsafetokensatisfy'except readNumber readAlphaenum$fPrettyTildePrefixanyWordparens nullaryExpr unaryExprstandaloneUnaryExpr binaryExprbinaryAndOrExprcondExpr$fPrettyBinaryOp$fOperatorBinaryOp$fPrettyUnaryOp$fOperatorUnaryOp$fPrettyCondExprTrueindentdoDone$fPrettyRValue$fPrettyAssignOp$fOperatorAssignOp$fPrettyAssign$fPrettyPipeline $fPrettyAndOr$fPrettyListTerm$fOperatorListTerm$fPrettyStatement $fPrettyList$fPrettyHeredocOp$fOperatorHeredocOp$fPrettyRedirOp$fOperatorRedirOp$fPrettyIODesc $fPrettyRedir$fPrettyCaseTerm$fOperatorCaseTerm$fPrettyCaseClause$fPrettyWordList$fPrettyShellCommand$fPrettyCommand surroundByupToupTo1spans singleQuote doubleQuote ansiQuote localeQuote backquotesubstdollar paramSubst processSubstwordSpan specialNameDTokenResultratwompreparsepack satisfying reservedWordsassignBuiltins operators descriptor reservedWordunreservedWord assignBuiltinioDesc anyOperator_token_anyWord_ioDesc _anyOperator_assign_unconsTWordTIODesc$fStreamDmCharU?:heredocnewlinelistTerm newlineListredir redirList commandParts simpleCommand singletonunmodifiedPipelinepipelineCommand compoundList inputListdoGroup shellCommand caseCommand whileCommand untilCommandwordList forCommand selectCommand ifCommandsubshellgroup arithCommand condCommandcoproc functionDefcommandscript postHeredoc