{-# LANGUAGE OverloadedStrings #-}
module Types where
import Data.Map.Strict (Map)
import Data.Text (Text)
import Data.Version (showVersion)
import GHC.Generics (Generic)
import Paths_stacker qualified as Paths
data LTSVersion = LTSVersion
{ LTSVersion -> Int
ltsMajor :: Int
, LTSVersion -> Int
ltsMinor :: Int
} deriving (LTSVersion -> LTSVersion -> Bool
(LTSVersion -> LTSVersion -> Bool)
-> (LTSVersion -> LTSVersion -> Bool) -> Eq LTSVersion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LTSVersion -> LTSVersion -> Bool
== :: LTSVersion -> LTSVersion -> Bool
$c/= :: LTSVersion -> LTSVersion -> Bool
/= :: LTSVersion -> LTSVersion -> Bool
Eq, Eq LTSVersion
Eq LTSVersion =>
(LTSVersion -> LTSVersion -> Ordering)
-> (LTSVersion -> LTSVersion -> Bool)
-> (LTSVersion -> LTSVersion -> Bool)
-> (LTSVersion -> LTSVersion -> Bool)
-> (LTSVersion -> LTSVersion -> Bool)
-> (LTSVersion -> LTSVersion -> LTSVersion)
-> (LTSVersion -> LTSVersion -> LTSVersion)
-> Ord LTSVersion
LTSVersion -> LTSVersion -> Bool
LTSVersion -> LTSVersion -> Ordering
LTSVersion -> LTSVersion -> LTSVersion
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: LTSVersion -> LTSVersion -> Ordering
compare :: LTSVersion -> LTSVersion -> Ordering
$c< :: LTSVersion -> LTSVersion -> Bool
< :: LTSVersion -> LTSVersion -> Bool
$c<= :: LTSVersion -> LTSVersion -> Bool
<= :: LTSVersion -> LTSVersion -> Bool
$c> :: LTSVersion -> LTSVersion -> Bool
> :: LTSVersion -> LTSVersion -> Bool
$c>= :: LTSVersion -> LTSVersion -> Bool
>= :: LTSVersion -> LTSVersion -> Bool
$cmax :: LTSVersion -> LTSVersion -> LTSVersion
max :: LTSVersion -> LTSVersion -> LTSVersion
$cmin :: LTSVersion -> LTSVersion -> LTSVersion
min :: LTSVersion -> LTSVersion -> LTSVersion
Ord, Int -> LTSVersion -> ShowS
[LTSVersion] -> ShowS
LTSVersion -> String
(Int -> LTSVersion -> ShowS)
-> (LTSVersion -> String)
-> ([LTSVersion] -> ShowS)
-> Show LTSVersion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LTSVersion -> ShowS
showsPrec :: Int -> LTSVersion -> ShowS
$cshow :: LTSVersion -> String
show :: LTSVersion -> String
$cshowList :: [LTSVersion] -> ShowS
showList :: [LTSVersion] -> ShowS
Show, (forall x. LTSVersion -> Rep LTSVersion x)
-> (forall x. Rep LTSVersion x -> LTSVersion) -> Generic LTSVersion
forall x. Rep LTSVersion x -> LTSVersion
forall x. LTSVersion -> Rep LTSVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. LTSVersion -> Rep LTSVersion x
from :: forall x. LTSVersion -> Rep LTSVersion x
$cto :: forall x. Rep LTSVersion x -> LTSVersion
to :: forall x. Rep LTSVersion x -> LTSVersion
Generic)
data NightlyVersion = NightlyVersion
{ NightlyVersion -> Int
nightlyYear :: Int
, NightlyVersion -> Int
nightlyMonth :: Int
, NightlyVersion -> Int
nightlyDay :: Int
} deriving (NightlyVersion -> NightlyVersion -> Bool
(NightlyVersion -> NightlyVersion -> Bool)
-> (NightlyVersion -> NightlyVersion -> Bool) -> Eq NightlyVersion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NightlyVersion -> NightlyVersion -> Bool
== :: NightlyVersion -> NightlyVersion -> Bool
$c/= :: NightlyVersion -> NightlyVersion -> Bool
/= :: NightlyVersion -> NightlyVersion -> Bool
Eq, Eq NightlyVersion
Eq NightlyVersion =>
(NightlyVersion -> NightlyVersion -> Ordering)
-> (NightlyVersion -> NightlyVersion -> Bool)
-> (NightlyVersion -> NightlyVersion -> Bool)
-> (NightlyVersion -> NightlyVersion -> Bool)
-> (NightlyVersion -> NightlyVersion -> Bool)
-> (NightlyVersion -> NightlyVersion -> NightlyVersion)
-> (NightlyVersion -> NightlyVersion -> NightlyVersion)
-> Ord NightlyVersion
NightlyVersion -> NightlyVersion -> Bool
NightlyVersion -> NightlyVersion -> Ordering
NightlyVersion -> NightlyVersion -> NightlyVersion
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NightlyVersion -> NightlyVersion -> Ordering
compare :: NightlyVersion -> NightlyVersion -> Ordering
$c< :: NightlyVersion -> NightlyVersion -> Bool
< :: NightlyVersion -> NightlyVersion -> Bool
$c<= :: NightlyVersion -> NightlyVersion -> Bool
<= :: NightlyVersion -> NightlyVersion -> Bool
$c> :: NightlyVersion -> NightlyVersion -> Bool
> :: NightlyVersion -> NightlyVersion -> Bool
$c>= :: NightlyVersion -> NightlyVersion -> Bool
>= :: NightlyVersion -> NightlyVersion -> Bool
$cmax :: NightlyVersion -> NightlyVersion -> NightlyVersion
max :: NightlyVersion -> NightlyVersion -> NightlyVersion
$cmin :: NightlyVersion -> NightlyVersion -> NightlyVersion
min :: NightlyVersion -> NightlyVersion -> NightlyVersion
Ord, Int -> NightlyVersion -> ShowS
[NightlyVersion] -> ShowS
NightlyVersion -> String
(Int -> NightlyVersion -> ShowS)
-> (NightlyVersion -> String)
-> ([NightlyVersion] -> ShowS)
-> Show NightlyVersion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NightlyVersion -> ShowS
showsPrec :: Int -> NightlyVersion -> ShowS
$cshow :: NightlyVersion -> String
show :: NightlyVersion -> String
$cshowList :: [NightlyVersion] -> ShowS
showList :: [NightlyVersion] -> ShowS
Show, (forall x. NightlyVersion -> Rep NightlyVersion x)
-> (forall x. Rep NightlyVersion x -> NightlyVersion)
-> Generic NightlyVersion
forall x. Rep NightlyVersion x -> NightlyVersion
forall x. NightlyVersion -> Rep NightlyVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NightlyVersion -> Rep NightlyVersion x
from :: forall x. NightlyVersion -> Rep NightlyVersion x
$cto :: forall x. Rep NightlyVersion x -> NightlyVersion
to :: forall x. Rep NightlyVersion x -> NightlyVersion
Generic)
data GHCVersion = GHCVersion
{ GHCVersion -> Int
ghcMajor1 :: Int
, GHCVersion -> Int
ghcMajor2 :: Int
, GHCVersion -> Int
ghcMinor :: Int
} deriving (GHCVersion -> GHCVersion -> Bool
(GHCVersion -> GHCVersion -> Bool)
-> (GHCVersion -> GHCVersion -> Bool) -> Eq GHCVersion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GHCVersion -> GHCVersion -> Bool
== :: GHCVersion -> GHCVersion -> Bool
$c/= :: GHCVersion -> GHCVersion -> Bool
/= :: GHCVersion -> GHCVersion -> Bool
Eq, Eq GHCVersion
Eq GHCVersion =>
(GHCVersion -> GHCVersion -> Ordering)
-> (GHCVersion -> GHCVersion -> Bool)
-> (GHCVersion -> GHCVersion -> Bool)
-> (GHCVersion -> GHCVersion -> Bool)
-> (GHCVersion -> GHCVersion -> Bool)
-> (GHCVersion -> GHCVersion -> GHCVersion)
-> (GHCVersion -> GHCVersion -> GHCVersion)
-> Ord GHCVersion
GHCVersion -> GHCVersion -> Bool
GHCVersion -> GHCVersion -> Ordering
GHCVersion -> GHCVersion -> GHCVersion
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: GHCVersion -> GHCVersion -> Ordering
compare :: GHCVersion -> GHCVersion -> Ordering
$c< :: GHCVersion -> GHCVersion -> Bool
< :: GHCVersion -> GHCVersion -> Bool
$c<= :: GHCVersion -> GHCVersion -> Bool
<= :: GHCVersion -> GHCVersion -> Bool
$c> :: GHCVersion -> GHCVersion -> Bool
> :: GHCVersion -> GHCVersion -> Bool
$c>= :: GHCVersion -> GHCVersion -> Bool
>= :: GHCVersion -> GHCVersion -> Bool
$cmax :: GHCVersion -> GHCVersion -> GHCVersion
max :: GHCVersion -> GHCVersion -> GHCVersion
$cmin :: GHCVersion -> GHCVersion -> GHCVersion
min :: GHCVersion -> GHCVersion -> GHCVersion
Ord, Int -> GHCVersion -> ShowS
[GHCVersion] -> ShowS
GHCVersion -> String
(Int -> GHCVersion -> ShowS)
-> (GHCVersion -> String)
-> ([GHCVersion] -> ShowS)
-> Show GHCVersion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GHCVersion -> ShowS
showsPrec :: Int -> GHCVersion -> ShowS
$cshow :: GHCVersion -> String
show :: GHCVersion -> String
$cshowList :: [GHCVersion] -> ShowS
showList :: [GHCVersion] -> ShowS
Show, (forall x. GHCVersion -> Rep GHCVersion x)
-> (forall x. Rep GHCVersion x -> GHCVersion) -> Generic GHCVersion
forall x. Rep GHCVersion x -> GHCVersion
forall x. GHCVersion -> Rep GHCVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. GHCVersion -> Rep GHCVersion x
from :: forall x. GHCVersion -> Rep GHCVersion x
$cto :: forall x. Rep GHCVersion x -> GHCVersion
to :: forall x. Rep GHCVersion x -> GHCVersion
Generic)
data Snapshot
= LTS LTSVersion
| Nightly NightlyVersion
deriving (Snapshot -> Snapshot -> Bool
(Snapshot -> Snapshot -> Bool)
-> (Snapshot -> Snapshot -> Bool) -> Eq Snapshot
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Snapshot -> Snapshot -> Bool
== :: Snapshot -> Snapshot -> Bool
$c/= :: Snapshot -> Snapshot -> Bool
/= :: Snapshot -> Snapshot -> Bool
Eq, Eq Snapshot
Eq Snapshot =>
(Snapshot -> Snapshot -> Ordering)
-> (Snapshot -> Snapshot -> Bool)
-> (Snapshot -> Snapshot -> Bool)
-> (Snapshot -> Snapshot -> Bool)
-> (Snapshot -> Snapshot -> Bool)
-> (Snapshot -> Snapshot -> Snapshot)
-> (Snapshot -> Snapshot -> Snapshot)
-> Ord Snapshot
Snapshot -> Snapshot -> Bool
Snapshot -> Snapshot -> Ordering
Snapshot -> Snapshot -> Snapshot
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Snapshot -> Snapshot -> Ordering
compare :: Snapshot -> Snapshot -> Ordering
$c< :: Snapshot -> Snapshot -> Bool
< :: Snapshot -> Snapshot -> Bool
$c<= :: Snapshot -> Snapshot -> Bool
<= :: Snapshot -> Snapshot -> Bool
$c> :: Snapshot -> Snapshot -> Bool
> :: Snapshot -> Snapshot -> Bool
$c>= :: Snapshot -> Snapshot -> Bool
>= :: Snapshot -> Snapshot -> Bool
$cmax :: Snapshot -> Snapshot -> Snapshot
max :: Snapshot -> Snapshot -> Snapshot
$cmin :: Snapshot -> Snapshot -> Snapshot
min :: Snapshot -> Snapshot -> Snapshot
Ord, Int -> Snapshot -> ShowS
[Snapshot] -> ShowS
Snapshot -> String
(Int -> Snapshot -> ShowS)
-> (Snapshot -> String) -> ([Snapshot] -> ShowS) -> Show Snapshot
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Snapshot -> ShowS
showsPrec :: Int -> Snapshot -> ShowS
$cshow :: Snapshot -> String
show :: Snapshot -> String
$cshowList :: [Snapshot] -> ShowS
showList :: [Snapshot] -> ShowS
Show, (forall x. Snapshot -> Rep Snapshot x)
-> (forall x. Rep Snapshot x -> Snapshot) -> Generic Snapshot
forall x. Rep Snapshot x -> Snapshot
forall x. Snapshot -> Rep Snapshot x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Snapshot -> Rep Snapshot x
from :: forall x. Snapshot -> Rep Snapshot x
$cto :: forall x. Rep Snapshot x -> Snapshot
to :: forall x. Rep Snapshot x -> Snapshot
Generic)
data Action = Action
{ Action -> String
actionFile :: FilePath
, Action -> Text
actionOldSnapshot :: Text
, Action -> Maybe Text
actionNewSnapshot :: Maybe Text
, Action -> Bool
actionIsResolver :: Bool
, Action -> (Int, Int)
actionSpan :: (Int, Int)
, Action -> Maybe String
actionSymlinkTarget :: Maybe FilePath
} deriving (Action -> Action -> Bool
(Action -> Action -> Bool)
-> (Action -> Action -> Bool) -> Eq Action
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Action -> Action -> Bool
== :: Action -> Action -> Bool
$c/= :: Action -> Action -> Bool
/= :: Action -> Action -> Bool
Eq, Int -> Action -> ShowS
[Action] -> ShowS
Action -> String
(Int -> Action -> ShowS)
-> (Action -> String) -> ([Action] -> ShowS) -> Show Action
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Action -> ShowS
showsPrec :: Int -> Action -> ShowS
$cshow :: Action -> String
show :: Action -> String
$cshowList :: [Action] -> ShowS
showList :: [Action] -> ShowS
Show, (forall x. Action -> Rep Action x)
-> (forall x. Rep Action x -> Action) -> Generic Action
forall x. Rep Action x -> Action
forall x. Action -> Rep Action x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Action -> Rep Action x
from :: forall x. Action -> Rep Action x
$cto :: forall x. Rep Action x -> Action
to :: forall x. Rep Action x -> Action
Generic)
data SnapshotDB = SnapshotDB
{ SnapshotDB -> Map LTSVersion GHCVersion
dbLTS :: Map LTSVersion GHCVersion
, SnapshotDB -> Map NightlyVersion GHCVersion
dbNightly :: Map NightlyVersion GHCVersion
, SnapshotDB -> Map GHCVersion Snapshot
dbGHC :: Map GHCVersion Snapshot
} deriving (SnapshotDB -> SnapshotDB -> Bool
(SnapshotDB -> SnapshotDB -> Bool)
-> (SnapshotDB -> SnapshotDB -> Bool) -> Eq SnapshotDB
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SnapshotDB -> SnapshotDB -> Bool
== :: SnapshotDB -> SnapshotDB -> Bool
$c/= :: SnapshotDB -> SnapshotDB -> Bool
/= :: SnapshotDB -> SnapshotDB -> Bool
Eq, Int -> SnapshotDB -> ShowS
[SnapshotDB] -> ShowS
SnapshotDB -> String
(Int -> SnapshotDB -> ShowS)
-> (SnapshotDB -> String)
-> ([SnapshotDB] -> ShowS)
-> Show SnapshotDB
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SnapshotDB -> ShowS
showsPrec :: Int -> SnapshotDB -> ShowS
$cshow :: SnapshotDB -> String
show :: SnapshotDB -> String
$cshowList :: [SnapshotDB] -> ShowS
showList :: [SnapshotDB] -> ShowS
Show, (forall x. SnapshotDB -> Rep SnapshotDB x)
-> (forall x. Rep SnapshotDB x -> SnapshotDB) -> Generic SnapshotDB
forall x. Rep SnapshotDB x -> SnapshotDB
forall x. SnapshotDB -> Rep SnapshotDB x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SnapshotDB -> Rep SnapshotDB x
from :: forall x. SnapshotDB -> Rep SnapshotDB x
$cto :: forall x. Rep SnapshotDB x -> SnapshotDB
to :: forall x. Rep SnapshotDB x -> SnapshotDB
Generic)
data AppConfig = AppConfig
{ AppConfig -> Maybe String
configRepo :: Maybe FilePath
} deriving (AppConfig -> AppConfig -> Bool
(AppConfig -> AppConfig -> Bool)
-> (AppConfig -> AppConfig -> Bool) -> Eq AppConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AppConfig -> AppConfig -> Bool
== :: AppConfig -> AppConfig -> Bool
$c/= :: AppConfig -> AppConfig -> Bool
/= :: AppConfig -> AppConfig -> Bool
Eq, Int -> AppConfig -> ShowS
[AppConfig] -> ShowS
AppConfig -> String
(Int -> AppConfig -> ShowS)
-> (AppConfig -> String)
-> ([AppConfig] -> ShowS)
-> Show AppConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AppConfig -> ShowS
showsPrec :: Int -> AppConfig -> ShowS
$cshow :: AppConfig -> String
show :: AppConfig -> String
$cshowList :: [AppConfig] -> ShowS
showList :: [AppConfig] -> ShowS
Show, (forall x. AppConfig -> Rep AppConfig x)
-> (forall x. Rep AppConfig x -> AppConfig) -> Generic AppConfig
forall x. Rep AppConfig x -> AppConfig
forall x. AppConfig -> Rep AppConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AppConfig -> Rep AppConfig x
from :: forall x. AppConfig -> Rep AppConfig x
$cto :: forall x. Rep AppConfig x -> AppConfig
to :: forall x. Rep AppConfig x -> AppConfig
Generic)
data Command
= Bump
| DryRun
| Config ConfigCmd
| Update
| Info
| Version
| NumericVersion
| PrintLicense
| Help
deriving (Command -> Command -> Bool
(Command -> Command -> Bool)
-> (Command -> Command -> Bool) -> Eq Command
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Command -> Command -> Bool
== :: Command -> Command -> Bool
$c/= :: Command -> Command -> Bool
/= :: Command -> Command -> Bool
Eq, Int -> Command -> ShowS
[Command] -> ShowS
Command -> String
(Int -> Command -> ShowS)
-> (Command -> String) -> ([Command] -> ShowS) -> Show Command
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Command -> ShowS
showsPrec :: Int -> Command -> ShowS
$cshow :: Command -> String
show :: Command -> String
$cshowList :: [Command] -> ShowS
showList :: [Command] -> ShowS
Show)
data ConfigCmd
= SetRepo FilePath
deriving (ConfigCmd -> ConfigCmd -> Bool
(ConfigCmd -> ConfigCmd -> Bool)
-> (ConfigCmd -> ConfigCmd -> Bool) -> Eq ConfigCmd
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConfigCmd -> ConfigCmd -> Bool
== :: ConfigCmd -> ConfigCmd -> Bool
$c/= :: ConfigCmd -> ConfigCmd -> Bool
/= :: ConfigCmd -> ConfigCmd -> Bool
Eq, Int -> ConfigCmd -> ShowS
[ConfigCmd] -> ShowS
ConfigCmd -> String
(Int -> ConfigCmd -> ShowS)
-> (ConfigCmd -> String)
-> ([ConfigCmd] -> ShowS)
-> Show ConfigCmd
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConfigCmd -> ShowS
showsPrec :: Int -> ConfigCmd -> ShowS
$cshow :: ConfigCmd -> String
show :: ConfigCmd -> String
$cshowList :: [ConfigCmd] -> ShowS
showList :: [ConfigCmd] -> ShowS
Show)
data ColorWhen
= Always
| Never
| Auto
deriving (ColorWhen -> ColorWhen -> Bool
(ColorWhen -> ColorWhen -> Bool)
-> (ColorWhen -> ColorWhen -> Bool) -> Eq ColorWhen
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ColorWhen -> ColorWhen -> Bool
== :: ColorWhen -> ColorWhen -> Bool
$c/= :: ColorWhen -> ColorWhen -> Bool
/= :: ColorWhen -> ColorWhen -> Bool
Eq, Int -> ColorWhen -> ShowS
[ColorWhen] -> ShowS
ColorWhen -> String
(Int -> ColorWhen -> ShowS)
-> (ColorWhen -> String)
-> ([ColorWhen] -> ShowS)
-> Show ColorWhen
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ColorWhen -> ShowS
showsPrec :: Int -> ColorWhen -> ShowS
$cshow :: ColorWhen -> String
show :: ColorWhen -> String
$cshowList :: [ColorWhen] -> ShowS
showList :: [ColorWhen] -> ShowS
Show, ReadPrec [ColorWhen]
ReadPrec ColorWhen
Int -> ReadS ColorWhen
ReadS [ColorWhen]
(Int -> ReadS ColorWhen)
-> ReadS [ColorWhen]
-> ReadPrec ColorWhen
-> ReadPrec [ColorWhen]
-> Read ColorWhen
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS ColorWhen
readsPrec :: Int -> ReadS ColorWhen
$creadList :: ReadS [ColorWhen]
readList :: ReadS [ColorWhen]
$creadPrec :: ReadPrec ColorWhen
readPrec :: ReadPrec ColorWhen
$creadListPrec :: ReadPrec [ColorWhen]
readListPrec :: ReadPrec [ColorWhen]
Read)
data Options = Options
{ Options -> Command
optCommand :: Command
, Options -> ColorWhen
optColor :: ColorWhen
} deriving (Options -> Options -> Bool
(Options -> Options -> Bool)
-> (Options -> Options -> Bool) -> Eq Options
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Options -> Options -> Bool
== :: Options -> Options -> Bool
$c/= :: Options -> Options -> Bool
/= :: Options -> Options -> Bool
Eq, Int -> Options -> ShowS
[Options] -> ShowS
Options -> String
(Int -> Options -> ShowS)
-> (Options -> String) -> ([Options] -> ShowS) -> Show Options
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Options -> ShowS
showsPrec :: Int -> Options -> ShowS
$cshow :: Options -> String
show :: Options -> String
$cshowList :: [Options] -> ShowS
showList :: [Options] -> ShowS
Show)
appVersion :: String
appVersion :: String
appVersion = Version -> String
showVersion Version
Paths.version
appName :: String
appName :: String
appName = String
"stacker"
copyright :: String
copyright :: String
copyright = String
"Copyright (c) 2025 Andreas Abel"