packages feed

chiasma-0.2.0.0: lib/Chiasma/Data/TmuxError.hs

module Chiasma.Data.TmuxError where

import Chiasma.Codec.Decode (TmuxDecodeError)
import Text.ParserCombinators.Parsec (ParseError)

import Chiasma.Data.Cmd (Cmds(..))

data TmuxError =
  ProcessFailed {
    processFailedCmds :: Cmds,
    processFailedReason :: Text
    }
  |
  OutputParsingFailed {
    parsingFailedCmds :: Cmds,
    parsingFailedOutput :: [Text],
    parsingFailedError :: ParseError
  }
  |
  NoOutput Cmds
  |
  DecodingFailed {
    decodingFailedCmds :: Cmds,
    decodingFailedOutput :: Text,
    decodingFailedError :: TmuxDecodeError
  }
  |
  InvalidOutput {
    invalidOutputReason :: Text,
    invalidOutputCommand :: Text
  }
  |
  CommandFailed {
    commandFailedCmds :: Cmds,
    commandFailedError :: [Text]
  }
  deriving (Eq, Show)

deepPrisms ''TmuxError