module Hix.Data.OutputTarget where

import Path (Abs, File, Path)

data OutputTarget =
  OutputDefault
  |
  OutputStdout
  |
  OutputFile (Path Abs File)
  deriving stock (OutputTarget -> OutputTarget -> Bool
(OutputTarget -> OutputTarget -> Bool)
-> (OutputTarget -> OutputTarget -> Bool) -> Eq OutputTarget
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OutputTarget -> OutputTarget -> Bool
== :: OutputTarget -> OutputTarget -> Bool
$c/= :: OutputTarget -> OutputTarget -> Bool
/= :: OutputTarget -> OutputTarget -> Bool
Eq, Int -> OutputTarget -> ShowS
[OutputTarget] -> ShowS
OutputTarget -> String
(Int -> OutputTarget -> ShowS)
-> (OutputTarget -> String)
-> ([OutputTarget] -> ShowS)
-> Show OutputTarget
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OutputTarget -> ShowS
showsPrec :: Int -> OutputTarget -> ShowS
$cshow :: OutputTarget -> String
show :: OutputTarget -> String
$cshowList :: [OutputTarget] -> ShowS
showList :: [OutputTarget] -> ShowS
Show, (forall x. OutputTarget -> Rep OutputTarget x)
-> (forall x. Rep OutputTarget x -> OutputTarget)
-> Generic OutputTarget
forall x. Rep OutputTarget x -> OutputTarget
forall x. OutputTarget -> Rep OutputTarget x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. OutputTarget -> Rep OutputTarget x
from :: forall x. OutputTarget -> Rep OutputTarget x
$cto :: forall x. Rep OutputTarget x -> OutputTarget
to :: forall x. Rep OutputTarget x -> OutputTarget
Generic)