{-# options_haddock prune #-}

-- |Description: ProcessError, Internal
module Polysemy.Process.Data.ProcessError where

import System.Exit (ExitCode)

import Polysemy.Process.Data.SystemProcessError (SystemProcessScopeError)

-- |Signal error for 'Polysemy.Process.Process'.
data ProcessError =
  -- |Something broke.
  Unknown Text
  |
  -- |The process failed to start.
  StartFailed SystemProcessScopeError
  |
  -- |The process terminated with exit code.
  Exit ExitCode
  deriving stock (ProcessError -> ProcessError -> Bool
(ProcessError -> ProcessError -> Bool)
-> (ProcessError -> ProcessError -> Bool) -> Eq ProcessError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProcessError -> ProcessError -> Bool
== :: ProcessError -> ProcessError -> Bool
$c/= :: ProcessError -> ProcessError -> Bool
/= :: ProcessError -> ProcessError -> Bool
Eq, Int -> ProcessError -> ShowS
[ProcessError] -> ShowS
ProcessError -> String
(Int -> ProcessError -> ShowS)
-> (ProcessError -> String)
-> ([ProcessError] -> ShowS)
-> Show ProcessError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProcessError -> ShowS
showsPrec :: Int -> ProcessError -> ShowS
$cshow :: ProcessError -> String
show :: ProcessError -> String
$cshowList :: [ProcessError] -> ShowS
showList :: [ProcessError] -> ShowS
Show)