-- |
-- Module      : Git.FastForward.Types.Env
-- License     : BSD3
-- Maintainer  : tbidne@gmail.com
-- Provides `Env` type.
module Git.FastForward.Types.Env
  ( Env (..),
  )
where

import Git.FastForward.Types.MergeType
import Git.Types.GitTypes

-- | The Env type to be used with Reader.
data Env
  = Env
      { -- | The path of the git directory. `Just` /s/ if non-empty,
        -- `Nothing` otherwise.
        Env -> Maybe FilePath
path :: Maybe FilePath,
        -- | The type of merge to perform.
        Env -> MergeType
mergeType :: MergeType,
        -- | Branches to push to remote.
        Env -> [Name]
push :: [Name],
        -- | Determines if we perform @git fetch@ first.
        Env -> Bool
doFetch :: Bool
      }
  deriving (Int -> Env -> ShowS
[Env] -> ShowS
Env -> FilePath
(Int -> Env -> ShowS)
-> (Env -> FilePath) -> ([Env] -> ShowS) -> Show Env
forall a.
(Int -> a -> ShowS) -> (a -> FilePath) -> ([a] -> ShowS) -> Show a
showList :: [Env] -> ShowS
$cshowList :: [Env] -> ShowS
show :: Env -> FilePath
$cshow :: Env -> FilePath
showsPrec :: Int -> Env -> ShowS
$cshowsPrec :: Int -> Env -> ShowS
Show)