-- | Package for writing great CLI apps. -- -- See Demo.hs for an example -- -- This package should eventually be made its own library. module Cli.Extras ( -- .Types CliLog , CliThrow , CliT(..) , runCli , CliConfig , HasCliConfig , getCliConfig , Output -- .Spinner , withSpinner , withSpinnerNoTrail , withSpinner' -- .Logging , AsUnstructuredError (..) , newCliConfig , mkDefaultCliConfig , getLogLevel , putLog , failWith , withExitFailMessage -- Control.Monad.Log , Severity (..) -- .Process , AsProcessFailure (..) , ProcessFailure (..) , prettyProcessFailure , ProcessSpec (..) , callCommand , callProcess , callProcessAndLogOutput , createProcess_ , overCreateProcess , proc , readCreateProcessWithExitCode , readProcessAndLogOutput , readProcessAndLogStderr , readProcessJSONAndLogStderr , reconstructCommand , setCwd , setDelegateCtlc , setEnvOverride , shell , waitForProcess ) where import Control.Monad.Log (Severity (..)) import Cli.Extras.Logging import Cli.Extras.Process import Cli.Extras.Spinner import Cli.Extras.Types