{-# LANGUAGE NoImplicitPrelude #-}
module Stack.Options.Utils
( GlobalOptsContext (..)
, hideMods
) where
import Options.Applicative ( Mod, hidden, idm, internal )
import Stack.Prelude
hideMods :: Bool -> Mod f a
hideMods :: forall (f :: * -> *) a. Bool -> Mod f a
hideMods Bool
hide = if Bool
hide then forall (f :: * -> *) a. Mod f a
internal forall a. Semigroup a => a -> a -> a
<> forall (f :: * -> *) a. Mod f a
hidden else forall m. Monoid m => m
idm
data GlobalOptsContext
= OuterGlobalOpts
| OtherCmdGlobalOpts
| BuildCmdGlobalOpts
| GhciCmdGlobalOpts
deriving (GlobalOptsContext -> GlobalOptsContext -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GlobalOptsContext -> GlobalOptsContext -> Bool
$c/= :: GlobalOptsContext -> GlobalOptsContext -> Bool
== :: GlobalOptsContext -> GlobalOptsContext -> Bool
$c== :: GlobalOptsContext -> GlobalOptsContext -> Bool
Eq, Int -> GlobalOptsContext -> ShowS
[GlobalOptsContext] -> ShowS
GlobalOptsContext -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GlobalOptsContext] -> ShowS
$cshowList :: [GlobalOptsContext] -> ShowS
show :: GlobalOptsContext -> String
$cshow :: GlobalOptsContext -> String
showsPrec :: Int -> GlobalOptsContext -> ShowS
$cshowsPrec :: Int -> GlobalOptsContext -> ShowS
Show)