module Hix.Data.GhciTest where

import Path (Abs, Dir, File, Path)

import Hix.Data.GhciConfig (GhciArgs)

data GhciTest =
  GhciTest {
    GhciTest -> GhciArgs
args :: GhciArgs,
    GhciTest -> [Path Abs Dir]
searchPath :: [Path Abs Dir],
    GhciTest -> Text
script :: Text,
    GhciTest -> Maybe Text
test :: Maybe Text
  }
  deriving stock (GhciTest -> GhciTest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GhciTest -> GhciTest -> Bool
$c/= :: GhciTest -> GhciTest -> Bool
== :: GhciTest -> GhciTest -> Bool
$c== :: GhciTest -> GhciTest -> Bool
Eq, Int -> GhciTest -> ShowS
[GhciTest] -> ShowS
GhciTest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GhciTest] -> ShowS
$cshowList :: [GhciTest] -> ShowS
show :: GhciTest -> String
$cshow :: GhciTest -> String
showsPrec :: Int -> GhciTest -> ShowS
$cshowsPrec :: Int -> GhciTest -> ShowS
Show, forall x. Rep GhciTest x -> GhciTest
forall x. GhciTest -> Rep GhciTest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GhciTest x -> GhciTest
$cfrom :: forall x. GhciTest -> Rep GhciTest x
Generic)

data GhciRun =
  GhciRun {
    GhciRun -> GhciTest
test :: GhciTest,
    GhciRun -> Text
shell :: Text,
    GhciRun -> Maybe Text
run :: Maybe Text,
    GhciRun -> Path Abs File
scriptFile :: Path Abs File
  }
  deriving stock (GhciRun -> GhciRun -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GhciRun -> GhciRun -> Bool
$c/= :: GhciRun -> GhciRun -> Bool
== :: GhciRun -> GhciRun -> Bool
$c== :: GhciRun -> GhciRun -> Bool
Eq, Int -> GhciRun -> ShowS
[GhciRun] -> ShowS
GhciRun -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GhciRun] -> ShowS
$cshowList :: [GhciRun] -> ShowS
show :: GhciRun -> String
$cshow :: GhciRun -> String
showsPrec :: Int -> GhciRun -> ShowS
$cshowsPrec :: Int -> GhciRun -> ShowS
Show, forall x. Rep GhciRun x -> GhciRun
forall x. GhciRun -> Rep GhciRun x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GhciRun x -> GhciRun
$cfrom :: forall x. GhciRun -> Rep GhciRun x
Generic)

data GhcidRun =
  GhcidRun {
    GhcidRun -> Text
cmdline :: Text,
    GhcidRun -> GhciRun
ghci :: GhciRun
  }
  deriving stock (GhcidRun -> GhcidRun -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GhcidRun -> GhcidRun -> Bool
$c/= :: GhcidRun -> GhcidRun -> Bool
== :: GhcidRun -> GhcidRun -> Bool
$c== :: GhcidRun -> GhcidRun -> Bool
Eq, Int -> GhcidRun -> ShowS
[GhcidRun] -> ShowS
GhcidRun -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GhcidRun] -> ShowS
$cshowList :: [GhcidRun] -> ShowS
show :: GhcidRun -> String
$cshow :: GhcidRun -> String
showsPrec :: Int -> GhcidRun -> ShowS
$cshowsPrec :: Int -> GhcidRun -> ShowS
Show, forall x. Rep GhcidRun x -> GhcidRun
forall x. GhcidRun -> Rep GhcidRun x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GhcidRun x -> GhcidRun
$cfrom :: forall x. GhcidRun -> Rep GhcidRun x
Generic)