{-# LANGUAGE NoImplicitPrelude     #-}
{-# LANGUAGE NoFieldSelectors      #-}

{-|
Module      : Stack.Types.HpcReportOpts
Description : Types related to Stack's @hpc report@ command.
License     : BSD-3-Clause

Types related to Stack's @hpc report@ command.
-}

module Stack.Types.HpcReportOpts
  ( HpcReportOpts (..)
  ) where

import           Stack.Prelude

-- | Type representing command line options for the @stack hpc report@ command.

data HpcReportOpts = HpcReportOpts
  { HpcReportOpts -> [Text]
inputs :: [Text]
  , HpcReportOpts -> Bool
all :: Bool
  , HpcReportOpts -> Maybe String
destDir :: Maybe String
  , HpcReportOpts -> Bool
openBrowser :: Bool
  }
  deriving Int -> HpcReportOpts -> ShowS
[HpcReportOpts] -> ShowS
HpcReportOpts -> String
(Int -> HpcReportOpts -> ShowS)
-> (HpcReportOpts -> String)
-> ([HpcReportOpts] -> ShowS)
-> Show HpcReportOpts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> HpcReportOpts -> ShowS
showsPrec :: Int -> HpcReportOpts -> ShowS
$cshow :: HpcReportOpts -> String
show :: HpcReportOpts -> String
$cshowList :: [HpcReportOpts] -> ShowS
showList :: [HpcReportOpts] -> ShowS
Show