śĪ#‰NП      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž   ‘ ’ “ ” • – — ˜ ™ š › œ  ž Nonee  None14=>?@AMSX 5  cli-extras<Wrap a Prism' in a newtype to avoid impredicativity problems   Safe@A_³ cli-extrasPrintable text on terminals,Represents text with an optional color code.Ÿ cli-extras@Convert to Text, controlling whether colorization should happen.  cli-extrasIColorize the given text so that it is printed in color when using putStr.  cli-extrasPSafely print the string with the given ANSI control codes, resetting in the end.! cli-extras Code for  /https://en.wikipedia.org/wiki/Enquiry_characterv. On VT-100 descendants (most modern UNIX terminal emulators), an ENQ character can be generated by pressing Ctrl+E.” cli-extrasCode to reset ANSI colors cli-extras with color cli-extras!optionally, trim to maximum width !" "!Safe) &'(,+*)-. '(,+*)&-.None ,1=>?@ACM_™ 6 cli-extras3We are capable of changing the log level at runtime7 cli-extrasDisallow coloured output8 cli-extrasDisallow spinners9 cli-extras0Whether the last message was an Overwrite output: cli-extras<Whether the user tip (to make verbose) was already displayed; cli-extras"Stack of logs from nested spinners< cli-extrasvHandler for failures. Determines, given an error, what message should be printed, and what the exit status should be.= cli-extrasTheme strings for spinnersI cli-extrasLog a message to the console.ZThe message is guaranteed to be logged uninterrupted, even if there are ongoing spinners./012345=<;:9876>?@ABCHGFEDICHGFEDBAI>?@45=<;:987623/01None ,=>?@ASX_Dø j cli-extras]Indicates unstructured errors form one variant (or conceptual projection) of the error type.BShouldn't really use this, but who has time to clean up that much!l cli-extras Create a new 4', initialized with the provided values.s cli-extrasLike I( but without the implicit newline added.t cli-extras1Like `putLog Alert` but also abrupts the program.u cli-extras=Log an error as though it were a warning, in a non-fatal way.v cli-extrasHIntercept ExitFailure exceptions and log the given alert before exiting.SThis is useful when you want to provide contextual information to a deeper failure.w cli-extras!Log a message to standard output.¢ cli-extrasJRuns an action only when the current log level matches a given predicate.x cli-extras}Allows the user to immediately switch to verbose logging when a particular sequence of characters is read from the terminal.MCall this function in a thread, and kill it to turn off keystroke monitoring.y cli-extrasLike £2 but also retrieves the subsequently pressed keys.UAllowing, for example, the !‘ key, which consists of the three characters ['ESC','[',A9] to be distinguished from an actual ESC character input.z cli-extrasFork a computation in /3, sharing the configuration with the child thread.¤ cli-extras@Conservatively determines whether the encoding supports Unicode.ŻCurrently this uses a whitelist of known-to-work encodings. In principle it could test dynamically by opening a file with this encoding, but it doesn't look like base exposes any way to determine this in a pure fashion.l cli-extras}The initial log level. Messages below this severity will not be logged, unless the log level is subsequently altered using r. cli-extras,Should ANSI terminal formatting be disabled? cli-extrasShould spinners be disabled? cli-extras'How to display errors, and compute the „ corresponding to each error.w cli-extras/Should a new line be printed after the message? cli-extrasBShould ANSI terminal formatting be used when printing the message? cli-extrasThe message to print.¢ cli-extras-What severity(ies) should this action run in? cli-extrasThe action to run.x cli-extrasAThe key(s) which should be read to indicate a shift in verbosity. cli-extras.A description of the key that must be pressed.IjklmnopqrstuvwxyzjklmnopqrIstuvwxyzNone>@AX_TΦ cli-extrasƒA spinner is simply an infinite list of strings that supplant each other in a delayed loop, creating the animation of a "spinner".| cli-extras!Run an action with a CLI spinner.} cli-extras6A spinner that leaves no trail after a successful run.BUse if you wish the spinner to be ephemerally visible to the user.nThe 'no trail' property automatically carries over to sub-spinners (in that they won't leave a trail either).~ cli-extrasLAdvanced version that controls the display and content of the trail message.§ cli-extras+How nested spinner logs should be displayedØ cli-extrasfRun a spinner with a monadic function that defines how to represent the individual spinner characters.© cli-extrasLike bracket but the release2 function can know whether an exception was raised~ cli-extras6Leave an optional trail with the given message creator§ cli-extras2That which comes before the final element in stack cli-extras!Spinner elements in reverse order|}~|}~ None >@APX_| cli-extrasdIndicates arbitrary process failures form one variant (or conceptual projection) of the error type. cli-extrasLike  †, but such that each of the child processes' standard output streams (stdout and stderr) is logged, with the corresponding severity.$Usually, this function is called as 'readProcessAndLogOutput (Debug, Error)q. If the child process is known to print diagnostic or informative messages to stderr, it is advisable to call 4 with a non-Error severity for stderr, for example &readProcessAndLogOutput (Debug, Debug).‘ cli-extrasLike  †, but such that each of the child processes' standard output streams (stdout and stderr) is logged, with the corresponding severity.$Usually, this function is called as 'callProcessAndLogOutput (Debug, Error)q. If the child process is known to print diagnostic or informative messages to stderr, it is advisable to call ‘4 with a non-Error severity for stderr, for example &callProcessAndLogOutput (Debug, Debug).’ cli-extrasLike  , but logging (with * severity) the process which was started.“ cli-extrasLike  , but logging (with * severity) the process which was started.” cli-extrasLike  , but logging (with * severity) the process which was started.• cli-extrasLike  , but logging (with * severity) the process which was started.– cli-extras?Runs a process to completion, aborting the computation (using ˜) in case of a non-Ŗ exit status.« cli-extras.Read from an input stream and log its contents— cli-extrasWrapper around  ˜ cli-extrasAborts the computation (using ¬) when given a non-Ŗ „.™ cli-extrasPretty print a CmdSpecš cli-extrasA wrapper for ‘> with sensible default verbosities: standard output gets the # severity and standard error gets .› cli-extrasLike š;, but the child process' output and error streams get the  severity.œ cli-extrasA wrapper for > with sensible default verbosities: standard output gets the # severity and standard error gets .#The child process' output gets the  severity rather than the } severity because it is first and foremost /returned by this function/, so you can log it afterwards in a reasonable manner. cli-extras<This tuple controls the severity of each output stream. Its fst is the severity of stdout; snd is the severity of stderr.‘ cli-extras<This tuple controls the severity of each output stream. Its fst is the severity of stdout; snd is the severity of stderr.€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œ€‚ƒ„…†•”‘’“˜Š‡Ž™–Œ‹‰ˆ—š›œ2Convenience functions for writing CLI applicationsNone~9/01234ABCIjklmqtuv|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™9BA/01m423C|}~jklqItuv€‚ƒ„…†•”‘’“˜Š‡Ž™–Œ‹‰ˆ—­ !"#$%&'()*+,-./01234567889:;<=>??@ABCCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ Œ  Ž Ž    ‘ ’ “ ” • – — ˜ ™ š › œ     ž Ÿ   ” ¢ £ ¤„¦§Ø©Ŗ«¬©­®Æ°±²©­³ “µ¶·øcli-extras-0.2.1.0-inplace Cli.ExtrasBindings.Cli.CoreutilsCli.Extras.SubExceptCli.Extras.TerminalStringCli.Extras.ThemeCli.Extras.TypesCli.Extras.LoggingCli.Extras.SpinnerCli.Extras.ProcessSystem.Process readProcess createProcesscreateProcess_ callProcess callCommandwaitForProcess+logging-effect-1.3.9-EIuTeeTdLuqIi9gHudkcONControl.Monad.LogDebug InformationalNoticeWarningErrorCriticalAlert EmergencySeveritycp SubExceptT unSubExceptT WrappedPrism'unWrappedPrism' runSubExceptT$fMonadErroreSubSubExceptT$fMonadTransSubExceptT$fFunctorSubExceptT$fApplicativeSubExceptT$fMonadSubExceptT$fMonadThrowSubExceptT$fMonadCatchSubExceptT$fMonadMaskSubExceptT$fMonadIOSubExceptT$fMonadFailSubExceptT$fMonadLogSubExceptTTerminalStringTerminalString_NormalTerminalString_Colorizedrender putStrWithSGR enquiryCodegetTerminalWidth$fEqTerminalString$fShowTerminalString$fOrdTerminalString SpinnerThemeCliTheme_cliTheme_done_cliTheme_failed_cliTheme_arrow_cliTheme_spinner unicodeThemenoUnicodeThemeCliTunCliT HasCliConfig getCliConfig CliConfig_cliConfig_logLevel_cliConfig_noColor_cliConfig_noSpinner_cliConfig_lock_cliConfig_tipDisplayed_cliConfig_spinnerStack_cliConfig_errorLogExitCode_cliConfig_themeDieTunDieTCliThrowCliLogOutput Output_Log Output_LogRaw Output_WriteOutput_OverwriteOutput_ClearLineputLog$fMonadErroreDieT$fMonadReaderrDieT$fMonadTransDieT$fHasCliConfigeExceptT$fHasCliConfigeStateT$fHasCliConfigeWriterT$fHasCliConfigeReaderT$fHasCliConfigeCliT$fMonadTransCliT $fEqOutput $fShowOutput $fOrdOutput $fFunctorDieT$fApplicativeDieT $fMonadDieT $fMonadIODieT$fMonadFailDieT$fMonadThrowDieT$fMonadCatchDieT$fMonadMaskDieT$fMonadLogDieT $fFunctorCliT$fApplicativeCliT $fMonadCliT $fMonadIOCliT$fMonadFailCliT$fMonadThrowCliT$fMonadCatchCliT$fMonadMaskCliT$fMonadLogCliT$fMonadErrorCliT$fMonadReaderCliTAsUnstructuredErrorasUnstructuredError newCliConfigrunCliverboseLogLevel isOverwrite getSeverity getLogLevel setLogLevel putLogRawfailWitherrorToWarningwithExitFailMessagewriteLogallowUserToMakeLoggingVerbosegetCharsfork$fAsUnstructuredErrorText withSpinnerwithSpinnerNoTrail withSpinner'AsProcessFailureasProcessFailureProcessFailure ProcessSpec_processSpec_createProcess_processSpec_overrideEnvprocshellsetEnvOverrideoverCreateProcesssetDelegateCtlcsetCwdreadProcessAndLogStderrreadProcessJSONAndLogStderrreadCreateProcessWithExitCodereadProcessAndLogOutputcallProcessAndLogOutput runProcess_ throwExitCodereconstructCommandrunProcrunProcSilentlyreadProc $fAsProcessFailureProcessFailure$fShowProcessFailuretoText' colorizeText resetCode whenLogLevelbase System.IOgetCharsupportsUnicodeGHC.IO.ExceptionExitCodeSpinnerrenderSpinnerStack runSpinnerbracket' ExitSuccess streamToLog mtl-2.2.2Control.Monad.Error.Class throwError