hdevtools-0.1.1.9: src/Types.hs
module Types
( ServerDirective(..)
, ClientDirective(..)
, Command(..)
, CommandExtra(..)
, emptyCommandExtra
) where
import System.Exit (ExitCode)
data CommandExtra = CommandExtra
{ ceGhcOptions :: [String]
, ceCabalConfig :: Maybe FilePath
, cePath :: Maybe FilePath
} deriving (Read, Show)
emptyCommandExtra :: CommandExtra
emptyCommandExtra = CommandExtra { ceGhcOptions = []
, ceCabalConfig = Nothing
, cePath = Nothing
}
data ServerDirective
= SrvCommand Command CommandExtra
| SrvStatus
| SrvExit
deriving (Read, Show)
data ClientDirective
= ClientStdout String
| ClientStderr String
| ClientExit ExitCode
| ClientUnexpectedError String -- ^ For unexpected errors that should not happen
deriving (Read, Show)
data Command
= CmdCheck FilePath
| CmdModuleFile String
| CmdInfo FilePath String
| CmdType FilePath (Int, Int)
deriving (Read, Show)