{-# OPTIONS_GHC -fno-warn-orphans #-} module Quaalude ( hex , bool , intersperse , transpose , sortBy , void , unless , when , join , fold , zipWithM_ , zipWithM , filterM , encode , decode , fromMaybe , isPrefixOf , isSuffixOf , on , both , (***) , (&&&) , (<=<) , (<>) , ($>) , first , second , getEnv , exitWith , showVersion , traverse_ , ExitCode (ExitSuccess) , MonadIO (..) -- * Miscellaneous , makeExe -- * "System.Process.Ext" reëxports , silentCreateProcess -- * "Data.Text.Lazy" reëxports , Text , pack , unpack -- * "Control.Composition" reëxports , biaxe , (.*) , (.**) , thread -- * Dhall reëxports , Interpret , Inject , Generic , Binary , input , auto , detailed -- * Shake reëxports , Rules , Action , command , command_ , (%>) , need , want , shake , Rebuild (..) , (~>) , cmd , cmd_ , ShakeOptions (..) , shakeOptions , copyFile' , Change (..) , Verbosity (..) , removeFilesAfter , Lint (..) , takeBaseName , takeFileName , takeDirectory , (-<.>) , makeExecutable -- * "Network.HTTP.Client.TLS" reëxports , tlsManagerSettings -- "Network.HTTP.Client" reëxports , newManager , parseRequest , httpLbs , Response (..) , Request (method, redirectCount) -- * "System.FilePath" reëxports , () , pathSeparator -- * ByteString reëxports , ByteString -- * Helpers for pretty-printing , (<#>) -- * "Text.PrettyPrint.ANSI.Leijen" reëxports , (<+>) , text , punctuate , dullred , linebreak , dullyellow , hardline , hang , indent , putDoc , Pretty (pretty) , module X -- Lens exports , Lens' , over , _Just , view , _1 , _2 , _4 , each , (&) , (%~) ) where import Control.Arrow hiding ((<+>)) import Control.Composition import Control.Monad import Control.Monad.IO.Class import Data.Binary import Data.Bool (bool) import Data.ByteString.Lazy (ByteString) import Data.Foldable (fold, traverse_) import Data.Functor (($>)) import Data.List import Data.Maybe (fromMaybe) import Data.Semigroup import Data.Text.Lazy (Text, pack, unpack) import Data.Version (showVersion) import Development.Shake hiding (getEnv) import Development.Shake.FilePath import Dhall hiding (bool, Text) import Lens.Micro hiding (both) import Lens.Micro.Extras import Network.HTTP.Client import Network.HTTP.Client.TLS (tlsManagerSettings) import Numeric (showHex) import System.Directory as X import System.Environment (getEnv) import System.Exit (ExitCode (ExitSuccess), exitWith) import System.Info (os) #ifndef mingw32_HOST_OS import System.Posix.Files #endif import System.Process as X import System.Process.Ext import Text.PrettyPrint.ANSI.Leijen hiding (bool, (<$>), (<>), ()) infixr 5 <#> #ifdef mingw32_HOST_OS makeExecutable :: FilePath -> IO () makeExecutable = pure mempty #else makeExecutable :: FilePath -> IO () makeExecutable = flip setFileMode ownerModes #endif makeExe :: String makeExe = case os of "freebsd" -> "gmake" "openbsd" -> "gmake" "netbsd" -> "gmake" "solaris" -> "gmake" "dragonfly" -> "gmake" _ -> "make" hex :: Int -> String hex = flip showHex mempty instance Semigroup a => Semigroup (Action a) where (<>) a b = (<>) <$> a <*> b instance (Semigroup a, Monoid a) => Monoid (Action a) where mempty = pure mempty mappend = (<>) -- | Same as "Text.PrettyPrint.ANSI.Leijen"'s @<$>@, but doesn't clash with the -- prelude. (<#>) :: Doc -> Doc -> Doc (<#>) a b = a <> line <> b