{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
module Foundational.CmdLineFlags
(module Foundational.CmdLineFlags
, def ) where
import Data.Default.Class ( Default(..) )
import UniformBase ( Text, Zeros(zero) )
progName, progTitle :: Text
progName :: Text
progName = Text
"daino"
progTitle :: Text
progTitle = Text
"constructing a static site generator" :: Text
data PubFlags = PubFlags
{ PubFlags -> Bool
privateFlag
, PubFlags -> Bool
draftFlag
, PubFlags -> Bool
testFlag
, PubFlags -> Bool
testNewFlag
, PubFlags -> Bool
quickFlag
, PubFlags -> Bool
watchFlag
, PubFlags -> Bool
serverFlag :: Bool
, PubFlags -> FilePath
locationDir :: FilePath
}
deriving (Int -> PubFlags -> ShowS
[PubFlags] -> ShowS
PubFlags -> FilePath
forall a.
(Int -> a -> ShowS) -> (a -> FilePath) -> ([a] -> ShowS) -> Show a
showList :: [PubFlags] -> ShowS
$cshowList :: [PubFlags] -> ShowS
show :: PubFlags -> FilePath
$cshow :: PubFlags -> FilePath
showsPrec :: Int -> PubFlags -> ShowS
$cshowsPrec :: Int -> PubFlags -> ShowS
Show, PubFlags -> PubFlags -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PubFlags -> PubFlags -> Bool
$c/= :: PubFlags -> PubFlags -> Bool
== :: PubFlags -> PubFlags -> Bool
$c== :: PubFlags -> PubFlags -> Bool
Eq)
instance Zeros PubFlags where
zero :: PubFlags
zero = Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> FilePath
-> PubFlags
PubFlags forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero forall z. Zeros z => z
zero
instance Default PubFlags where
def :: PubFlags
def = PubFlags
testFlags
testFlags :: PubFlags
testFlags :: PubFlags
testFlags =
forall z. Zeros z => z
zero
{ privateFlag :: Bool
privateFlag = Bool
False
, draftFlag :: Bool
draftFlag = Bool
False
}