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

import Git.Types.GitTypes

-- | Alias for 'Name'.
type CurrentBranch = Name

-- | Describes the local branches in a git directory.
data LocalBranches
  = LocalBranches
      { -- | The current branch, saved so that we can check it out after
        -- we are done updating all branches.
        LocalBranches -> CurrentBranch
current :: CurrentBranch,
        -- | List of all branches.
        LocalBranches -> [CurrentBranch]
branches :: [Name]
      }
  deriving (Int -> LocalBranches -> ShowS
[LocalBranches] -> ShowS
LocalBranches -> String
(Int -> LocalBranches -> ShowS)
-> (LocalBranches -> String)
-> ([LocalBranches] -> ShowS)
-> Show LocalBranches
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LocalBranches] -> ShowS
$cshowList :: [LocalBranches] -> ShowS
show :: LocalBranches -> String
$cshow :: LocalBranches -> String
showsPrec :: Int -> LocalBranches -> ShowS
$cshowsPrec :: Int -> LocalBranches -> ShowS
Show)