{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE RecordWildCards #-}
module Stack.Eval
( EvalOpts (..)
, evalCmd
) where
import Stack.Exec
( ExecOpts (..), ExecOptsExtra, SpecialExecCmd (..)
, execCmd
)
import Stack.Prelude
import Stack.Types.Runner ( Runner )
data EvalOpts = EvalOpts
{ EvalOpts -> String
evalArg :: !String
, :: !ExecOptsExtra
}
deriving Int -> EvalOpts -> ShowS
[EvalOpts] -> ShowS
EvalOpts -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EvalOpts] -> ShowS
$cshowList :: [EvalOpts] -> ShowS
show :: EvalOpts -> String
$cshow :: EvalOpts -> String
showsPrec :: Int -> EvalOpts -> ShowS
$cshowsPrec :: Int -> EvalOpts -> ShowS
Show
evalCmd :: EvalOpts -> RIO Runner ()
evalCmd :: EvalOpts -> RIO Runner ()
evalCmd EvalOpts {String
ExecOptsExtra
evalExtra :: ExecOptsExtra
evalArg :: String
evalExtra :: EvalOpts -> ExecOptsExtra
evalArg :: EvalOpts -> String
..} = ExecOpts -> RIO Runner ()
execCmd ExecOpts
execOpts
where
execOpts :: ExecOpts
execOpts =
ExecOpts { eoCmd :: SpecialExecCmd
eoCmd = SpecialExecCmd
ExecGhc
, eoArgs :: [String]
eoArgs = [String
"-e", String
evalArg]
, eoExtra :: ExecOptsExtra
eoExtra = ExecOptsExtra
evalExtra
}