h$qCh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       Nonecmdargs"Any value, with a Data dictionary.  None&None3 4 cmdargsThis type represents an annotated value. The type of the underlying value is not specified. cmdargsConstruct a field, fieldname := value. cmdargsAdd annotations to a field. cmdargs)The result of capturing some annotations.cmdargsMany values collapsed ( or )cmdargs#An annotation attached to a value ( or )cmdargsA value (just a value, or )cmdargsA missing field (a  exception, or missing from )cmdargs!A constructor (a constructor, or )cmdargs"Return the value inside a capture.cmdargsRemove all Missing values by using any previous instances as default valuescmdargs#Collapse multiple values in to one.cmdargsCapture a value. Note that if the value is evaluated more than once the result may be different, i.e. capture x /= capture xcmdargsAdd an annotation to a value.It is recommended that anyone making use of this function redefine it with a more restrictive type signature to control the type of the annotation (the second argument). Any redefinitions of this function should add an INLINE pragma, to reduce the chance of incorrect optimisations.cmdargsAdd an annotation to a value.cmdargs)Collapse many annotated values in to one.cmdargs#Lift a pure value to an annotation.cmdargsCreate a constructor/record. The first argument should be the type of field, the second should be a list of fields constructed originally defined by := or :=+.This operation is not type safe, and may raise an exception at runtime if any field has the wrong type or label.cmdargs0Capture the annotations from an annotated value.     322 Safe-Inferred )!cmdargsClass for default values."cmdargs!Provide a default value, such as (), False, 0, [], Nothing.!"!"  Safe-Inferred#$ =cmdargsExpand @: directives in a list of arguments, usually obtained from getArgs#. As an example, given the file test.txt with the lines hello and world: 7expandArgsAt ["@test.txt","!"] == ["hello","world","!"]Any @ directives in the files will be recursively expanded (raising an error if there is infinite recursion). To supress @ expansion, pass any @ arguments after --.=  Safe-Inferred#$>cmdargsGiven a sequence of arguments, join them together in a manner that could be used on the command line, giving preference to the Windows cmd shell quoting conventions.For an alternative version, intended for actual running the result in a shell, see "System.Process.showCommandForUser"?cmdargsGiven a string, split into the available arguments. The inverse of >.>? Safe-Inferred$5@cmdargs>Like functor, but where the the argument isn't just covariant.AcmdargsConvert between two values.Bcmdargs0An unnamed argument. Anything not starting with -* is considered an argument, apart from "-"( which is considered to be the argument "-"!, and any arguments following "--". For example: 7programname arg1 -j - --foo arg3 -- -arg4 --arg5=1 arg6Would have the arguments: -["arg1","-","arg3","-arg4","--arg5=1","arg6"]Dcmdargs!A way of processing the argument.Ecmdargs4The type of data for the argument, i.e. FILE/DIR/EXTFcmdargsIs at least one of these arguments required, the command line will fail if none are setGcmdargsA flag, consisting of a list of flag names and other information.IcmdargsThe names for the flag.Jcmdargs%Information about a flag's arguments.KcmdargsThe way of processing a flag.Lcmdargs9The type of data for the flag argument, i.e. FILE/DIR/EXTMcmdargs+The help message associated with this flag.NcmdargsA function to take a string, and a value, and either produce an error message (Left), or a modified value (Right).OcmdargsThe O type has the following meaning:  FlagReq FlagOpt FlagOptRare/FlagNone -xfoo -x=foo -x=foo -x -foo -x foo -x=foo -x foo -x foo -x=foo -x=foo -x=foo -x=foo --xx foo --xx=foo --xx foo --xx foo --xx=foo --xx=foo --xx=foo --xx=fooPcmdargsRequired argumentQcmdargsOptional argumentRcmdargs5Optional argument that requires an = before the valueScmdargs No argumentTcmdargsA mode. Do not use the T& constructor directly, instead use r to construct the T? and then record updates. Each mode has three main features:A list of submodes (V)A list of flags (_) Optionally an unnamed argument (^)7To produce the help information for a mode, either use helpText or .VcmdargsThe available sub-modesWcmdargsThe names assigned to this mode (for the root mode, this name is used as the program name)XcmdargsValue to start withYcmdargsCheck the value reprsented by a mode is correct, after applying all flagsZcmdargs3Given a value, try to generate the input arguments.[cmdargsExpand @ arguments with  expandArgsAt, defaults to , only applied if using an ' processing function. Only the root Ts value will be used.\cmdargs Help text]cmdargs+A longer help suffix displayed after a mode^cmdargsThe unnamed arguments, a series of arguments, followed optionally by one for all remaining slots_cmdargsGroups of flags`cmdargsA group of items (modes or flags). The items are treated as a list, but the group structure is used when displaying the help message.bcmdargs Normal items.ccmdargs:Items that are hidden (not displayed in the help message).dcmdargsItems that have been grouped, along with a description of each group.ecmdargsThe type of a flag, i.e. --foo=TYPE.fcmdargs6A help message that goes with either a flag or a mode.gcmdargs#A name, either the name of a flag (--foo) or the name of a mode.hcmdargs8Parse a boolean, accepts as True: true yes on enabled 1.icmdargsConvert a group into a list.jcmdargs3Convert a list into a group, placing all fields in b.kcmdargsExtract the modes from a TlcmdargsExtract the flags from a Tmcmdargs Extract the value from inside a Q or R, or raises an error.ncmdargs!Check that a mode is well formed.ocmdargsRestricted version of A! where the values are isomorphic.pcmdargs Version of A for the N type alias.qcmdargs%Create an empty mode specifying only X. All other fields will usually be populated using record updates.rcmdargsCreate a mode with a name, an initial value, some help text, a way of processing arguments and a list of flags.scmdargsCreate a list of modes, with a program name, an initial value, some help text and the child modes.tcmdargsCreate a flag taking no argument value, with a list of flag names, an update function and some help text.ucmdargsCreate a flag taking an optional argument value, with an optional value, a list of flag names, an update function, the type of the argument and some help text.vcmdargsCreate a flag taking a required argument value, with a list of flag names, an update function, the type of the argument and some help text.wcmdargsCreate an argument flag, with an update function and the type of the argument.xcmdargsCreate a boolean flag, with a list of flag names, an update function and some help text.Acmdargs Embed a valuecmdargs/Extract the mode and give a way of re-embedding9@ABCFEDGHMLKJINOSRQPTU_^]\[YXWVZ`adcbefghijklmnopqrstuvwx Safe-Inferred#$%ycmdargs/Process a list of flags (usually obtained from getArgs/ expandArgsAt) with a mode. Returns Left= and an error message if the command line fails to parse, or Right and the associated value.y Safe-Inferred(@zcmdargs.How to complete a command line option. The 5 instance is suitable for parsing from shell scripts.{cmdargsComplete to a particular value|cmdargs Complete to a prefix, and a file}cmdargs%Complete to a prefix, and a directory~cmdargsGiven a current state, return the set of commands you could type now, in preference order.~cmdargs+Mode specifying which arguments are allowedcmdargs$Arguments the user has already typedcmdargs0-based index of the argument they are currently on, and the position in that argumentz{|}~None#$>+vcmdargs9Unknown value, representing the values stored within the T structure. While the values are not observable, they behave identically to the original values.cmdargs Run a remote command line entry.cmdargs.Receive information about the mode to display.cmdargsSend a reply with either an error, or a list of flags to use. This function exits the helper program.cmdargsSend a comment which will be displayed on the calling console, mainly useful for debugging.cmdargs!Name of the command to run, e.g.  echo argument, cmdargs-browsercmdargsMode to run remotelycmdargsInitial set of command line flags (not supported by all helpers)cmdargs2Either an error message, or a list of flags to use Safe-Inferred3,cmdargsThe general type of annotations that can be associated with a value. Safe-Inferred=cmdargsFlag: "I want users to be able to omit the value associated with this flag."&Make the value of a flag optional. If --flag$ is given, it will be treated as --flag= this_argument. {hello = def &= opt "foo"} -h --hello[=VALUE] (default=foo)Note that all flags in CmdArgs are optional, and if omitted will use their default value. Those annotated with opt also allow the flag to be present without an associated value. As an example: %{hello = "DEFAULT" &= opt "OPTIONAL"} $ main {hello = "DEFAULT"} $ main --hello {hello = "OPTIONAL"} $ main --hello=VALUE {hello = "VALUE"}cmdargs?Flag: "For this flag, users need to give something of type ..."The the type of a flag's value, usually upper case. Only used for the help message. Commonly the type will be FILE () or DIR (). 3{hello = def &= typ "MESSAGE"} -h --hello=MESSAGEcmdargs5Flag: "Users must give a file for this flag's value." Alias for  FILE.cmdargs:Flag: "Users must give a directory for this flag's value." Alias for  DIR.cmdargs$Flag/Mode: "The help message is ...")Descriptive text used in the help output. {hello = def &= help "Help message"} -h --hello=VALUE Help messagecmdargs*Flag: "Use this flag name for this field."$Add flags which trigger this option. 4{hello = def &= name "foo"} -h --hello --foo=VALUEcmdargs$Flag: "Put non-flag arguments here."#All argument flags not captured by  are returned by . {hello = def &= args}cmdargs+Flag: "Put the nth non-flag argument here."This field should be used to store a particular argument position (0-based). {hello = def &= argPos 0}cmdargsFlag/Mode: "Give these flags/modes a group name in the help output."This mode will be used for all following modes/flags, until the next  groupname. {hello = def &= groupname "Welcomes"} Welcomes -h --hello=VALUEcmdargs0Mode: "A longer description of this mode is ..."'Suffix to be added to the help message. Sample{..} &= details ["More details on the website www.example.org"]cmdargs1Modes: "My program name/version/copyright is ..."=One line summary of the entire program, the first line of --help and the only line of  --version. If the string contains a version number component will also provide --numeric-version. Sample{..} &= verbosityArgs [ignore] [name "silent", explicit]cmdargs Program: "Turn off @ expansion."Usually arguments starting with @ are treated as a file containing a set of arguments. This annotation turns off that behaviour. Sample{..} &= noAtExpand Safe-InferredA~cmdargs8The data type representing some text, typically used as [Text]$. The formatting is described by: values represent a paragraph of text, and may be wrapped depending on the  . If a  value is wrapped then all leading space will be treated as an indent.. values represent columns of text. Within any [Text] all columns of the same length are grouped in tabs, with the final column being wrapped if necessary. All columns are placed adjacent with no space between them - for this reason most columns will start with a space.cmdargsHow to output the text.cmdargsDisplay as HTML.cmdargs0Display as text wrapped at a certain width (see ).cmdargs-Wrap with the default width of 80 characters.cmdargs*Show some text using the given formatting. Safe-InferredCcmdargs&Specify the format to output the help.cmdargsEquivalent to * if there is not too much text, otherwise .cmdargsDisplay only the first mode.cmdargsDisplay all modes.cmdargsBash completion informationcmdargsZ shell completion informationcmdargsGenerate a help message from a mode. The first argument is a prefix, which is prepended when not using  or .None3G> cmdargsThe verbosity data typecmdargs1Only output essential messages (typically errors)cmdargs6Output normal messages (typically errors and warnings)cmdargsOutput lots of messages (typically errors, warnings and status updates)cmdargsSet the global verbosity.cmdargs$Get the global verbosity. Initially Normal before any calls to .cmdargs:Used to test if warnings should be output to the user. True if the verbosity is set to  or  (when --quiet is not specified).cmdargsUsed to test if status updates should be output to the user. True if the verbosity is set to  (when  --verbose is specified).cmdargsAn action to perform if the verbosity is normal or higher, based on .cmdargs8An action to perform if the verbosity is loud, based on .  None3Icmdargs5A structure to store the additional data relating to --help,  --version, --quiet and  --verbose.cmdargs#The underlying value being wrapped.cmdargsJust if --help is given, then gives the help message for display, including a trailing newline.cmdargsJust if  --version is given, then gives the version message for display, including a trailing newline.cmdargsJust if --quiet or  --verbose+ is given, then gives the verbosity to use.cmdargs2Private: Only exported due to Haddock limitations. NoneRcmdargsProcess the flags obtained by  and = with a mode. Displays an error and exits with failure if the command line fails to parse, or returns the associated value. Implemented in terms of y. This function makes use of the following environment variables:$CMDARGS_COMPLETE3 - causes the program to produce completions using ~7, then exit. Completions are based on the result of 5, the index of the current argument is taken from $CMDARGS_COMPLETE (set it to - to complete the last argument), and the index within that argument is taken from $CMDARGS_COMPLETE_POS (if set).$CMDARGS_HELPER/$CMDARGS_HELPER_PROG - uses the helper mechanism for entering command line programs as described in System.Console.CmdArgs.Helper.cmdargs/Process a list of flags (usually obtained from  and =) with a mode. Throws an error if the command line fails to parse, or returns the associated value. Implemeneted in terms of y. This function does not take account of any environment variables that may be set (see ).If you are in ; you will probably get a better user experience by calling .cmdargsLike 7 but on failure prints to stderr and exits the program.cmdargs Create a help flag triggered by -?/--help.cmdargs Create a help flag triggered by -?/--help. The user may optionally modify help by specifying the format, such as: --help=all - help for all modes --help=html - help in HTML format --help=100 - wrap the text at 100 characters --help=100,one - full text wrapped at 100 characterscmdargs#Create a version flag triggered by -V/ --version.cmdargs#Create a version flag triggered by --numeric-version.cmdargs$Create verbosity flags triggered by -v/ --verbose and -q/--quiet=>?@ABCFDEGHMLKIJNOSRPQTU_^]\[YXWZV`adbcefghijklmnopqrstuvwxyz{|}~ygfeh`adcbijTU_^]\[YXWVZklOSRQPmNGHMLKJIBCFEDn@Aopqrstuvwx=?>z{|}~NoneRNoneS,None#$SNone#$SNone#$`$ cmdargsTake impurely annotated records and run the corresponding command line. Shortcut for  . .To use + with custom command line arguments see .cmdargsTake purely annotated records and run the corresponding command line. Shortcut for  . .To use + with custom command line arguments see .cmdargs6Take impurely annotated records and turn them in to a T$ value, that can make use of the System.Console.CmdArgs.Explicit functions (i.e. process).Annotated records are impure, and will only contain annotations on their first use. The result of this function is pure, and can be reused.cmdargs4Take purely annotated records and turn them in to a T$ value, that can make use of the System.Console.CmdArgs.Explicit functions (i.e. process).cmdargsRun a Mode structure. This function reads the command line arguments and then performs as follows:If invalid arguments are given, it will display the error message and exit.If --help5 is given, it will display the help message and exit.If  --version0 is given, it will display the version and exit.;In all other circumstances the program will return a value.Additionally, if either --quiet or  --verbose is given (see &) it will set the verbosity (see ).cmdargs,Perform the necessary actions dictated by a  structure.If  is Just,, it will display the help message and exit.If  is Just', it will display the version and exit.2In all other circumstances it will return a value.Additionally, if  is Just (see &) it will set the verbosity (see ).cmdargsModes: "I want a program with multiple modes, like darcs or cabal."Takes a list of modes, and creates a mode which includes them all. If you want one of the modes to be chosen by default, see . data Modes = Mode1 | Mode2 | Mode3 deriving Data cmdArgs $ modes [Mode1,Mode2,Mode3]cmdargsFlag: "I want several different flags to set this one field to different values."This annotation takes a type which is an enumeration, and provides multiple separate flags to set the field to each value. The first element in the list is used as the value of the field. data State = On | Off deriving Data data Mode = Mode {state :: State} cmdArgs $ Mode {state = enum [On &= help "Turn on",Off &= help "Turn off"]} --on Turn on --off Turn offThis annotation can be used to allow multiple flags within a field: data Mode = Mode {state :: [State]} cmdArgs $ Mode {state = enum [[] &= ignore, [On] &= help "Turn on", [Off] &= help "Turn off"]}Now  --on --off would produce  Mode [On,Off].cmdargsAdd an annotation to a value. Note that if the value is evaluated more than once the annotation will only be available the first time.cmdargsLike !, but using the pure annotations.cmdargsLike !, but using the pure annotations.; !"T/ T Noneccmdargs Version of  without a ! context, only to be used within .cmdargs Version of  without a ! context, only to be used within .cmdargs Version of  without a ! context, only to be used within .cmdargs Version of  without a ! context, only to be used within .cmdargs Version of  without a ! context, only to be used within .cmdargs0Quotation function to turn an impure version of System.Console.CmdArgs.Implicit% into a pure one. For details see System.Console.CmdArgs.Quote.Nonec; !"TNonehcmdargs.What to do with options following non-options.Changes: Only  is allowed, both  RequireOrder and  ReturnInOrder have been removed.cmdargsReturn a string describing the usage of a command, derived from the header (first argument) and the options described by the second argument.cmdargsProcess the command-line, and return the list of values that matched (and those that didn't). The arguments are:The order requirements (see )The option descriptions (see )?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ] ^ _`abbcdeffghijklmnopqrrstuvwxyz{|}}~/7                                                  &cmdargs-0.10.21-KlHphs6sBhIECkIRkNdEOMSystem.Console.CmdArgs.ImplicitSystem.Console.CmdArgs.GetOptSystem.Console.CmdArgs.AnnotateSystem.Console.CmdArgs.DefaultSystem.Console.CmdArgs.ExplicitSystem.Console.CmdArgs.HelperSystem.Console.CmdArgs.Text System.Console.CmdArgs.VerbositySystem.Console.CmdArgs.QuoteData.Generics.AnyData.Generics.Any.Prelude,System.Console.CmdArgs.Explicit.ExpandArgsAt)System.Console.CmdArgs.Explicit.SplitJoin$System.Console.CmdArgs.Explicit.Type'System.Console.CmdArgs.Explicit.Process(System.Console.CmdArgs.Explicit.Complete#System.Console.CmdArgs.Implicit.Ann"System.Console.CmdArgs.Implicit.UI$System.Console.CmdArgs.Explicit.Help$System.Console.CmdArgs.Implicit.Type&System.Console.CmdArgs.Implicit.Reader%System.Console.CmdArgs.Implicit.Local&System.Console.CmdArgs.Implicit.Reform&System.Console.CmdArgs.Implicit.GlobalSystem.EnvironmentwithArgsSystem.Console.CmdArgsgetArgsbase Data.DataDataData.Typeable.InternalTypeableSystem.Console.GetOptOptionOptDescrOptArgReqArgNoArgArgDescrAnyAnnotate:=:=+CaptureManyAnnValueMissingCtor fromCapturedefaultMissingmanycapture&=+=many_atomrecordcapture_$fFunctorCapture$fExceptionExceptionInt$fShowExceptionInt $fShowCaptureDefaultdef$fDefault(,,,,,,,,,)$fDefault(,,,,,,,,)$fDefault(,,,,,,,)$fDefault(,,,,,,)$fDefault(,,,,,)$fDefault(,,,,)$fDefault(,,,) $fDefault(,,) $fDefault(,)$fDefaultWord64$fDefaultWord32$fDefaultWord16$fDefaultWord8 $fDefaultWord$fDefaultInt64$fDefaultInt32$fDefaultInt16 $fDefaultInt8$fDefaultMaybe $fDefault[]$fDefaultDouble$fDefaultFloat$fDefaultInteger $fDefaultInt $fDefaultBool $fDefault() expandArgsAtjoinArgs splitArgsRemapremapArgargValueargType argRequireFlag flagNamesflagInfo flagValueflagTypeflagHelpUpdateFlagInfoFlagReqFlagOpt FlagOptRareFlagNoneModemodeGroupModes modeNames modeValue modeCheck modeReform modeExpandAtmodeHelpmodeHelpSuffixmodeArgsmodeGroupFlagsGroup groupUnnamed groupHidden groupNamedFlagHelpHelpName parseBool fromGrouptoGroup modeModes modeFlags fromFlagOpt checkModeremap2 remapUpdate modeEmptymodemodesflagNoneflagOptflagReqflagArgflagBoolprocessComplete CompleteValue CompleteFile CompleteDircompleteUnknownexecutereceivereplycomment $fReadNoShow $fShowNoShow$fPackerFlagInfo $fPackerArg $fPackerFlag $fPackerMode $fPackerGroup $fPackerBool$fPackerEither $fPackerMaybe $fPacker(,) $fPackerInt $fPackerChar $fPackerValue $fPacker-> $fPacker[] $fShowPack $fReadPackopttyptypFiletypDirhelpnameargsargPos groupnamedetailssummaryautoprogramexplicitignore verbosityhelpArg versionArg verbosityArgs noAtExpandTextLineCols TextFormatHTMLWrap defaultWrapshowText$fDefaultTextFormat $fShowText$fReadTextFormat$fShowTextFormat$fEqTextFormat$fOrdTextFormat HelpFormatHelpFormatDefault HelpFormatOne HelpFormatAllHelpFormatBash HelpFormatZshhelpText VerbosityQuietNormalLoud setVerbosity getVerbosityisNormalisLoud whenNormalwhenLoud $fEqVerbosity$fOrdVerbosity$fBoundedVerbosity$fEnumVerbosity$fShowVerbosity$fReadVerbosity$fDataVerbosityCmdArgs cmdArgsValue cmdArgsHelpcmdArgsVersioncmdArgsVerbositycmdArgsPrivate processArgs processValueprocessValueIOflagHelpSimpleflagHelpFormat flagVersionflagNumericVersionflagsVerbositycmdArgscmdArgs_ cmdArgsMode cmdArgsMode_ cmdArgsRun cmdArgsApplyenumenum_modes_&=#modes# cmdArgsMode#cmdArgs#enum# cmdArgsQuoteArgOrderPermute usageInfogetOptgetOpt'convert$fFunctorArgOrderAnyT FieldNameCtorName readTupleTypetry1fromAnycasttoConstrtypeOf dataTypeOf isAlgType typeShell typeShellFulltypeNamectorfieldschildrencompose0 recomposectors decomposearitycomposegetFieldsetFieldheadtailconsunconsnulljust_nil_list_appendreverseisStringisListisMaybeisTuplefromList fromMaybe fromTupleunittupleControl.Exception.Base RecConErrorGHC.Showshowghc-prim GHC.TypesTrueIOShow completeBash completeZshProgNoAtExpandProgVerbosityArgsProgVersionArg ProgHelpArg ProgVerbosity ProgProgram ProgSummaryModeHelpSuffix ModeDefaultFlagType FlagArgPosFlagArgs FlagOptional GroupNameExplicitIgnoreCmdArgsPrivatecmdArgsHasValueembedreembed incArgsSeen getArgsSeenReader readerHelp readerBool readerParts readerFixup readerReadreaderFixupFlag_Arg_ flagFieldflagFlag flagExplicit flagGroupflagEnum flagFixupflagArg_ flagArgPos flagArgOptMode_ modeFlags_modeMode modeDefault modeGroup modeExplicitBuiltin_builtinSummary builtinNamesbuiltinExplicit builtinHelp builtinGroupProg_ progModes progSummary progProgramprogHelpprogVerbosityArgs progHelpArgprogVersionArgprogNoAtExpandprogHelpOutputprogVersionOutputprogNumericVersionOutputisFlag_errlocalreformglobal