module System.Console.Haskeline.Recover where
import GHC.IO.Encoding
import GHC.IO.Encoding.Failure
transliterateFailure :: TextEncoding -> TextEncoding
transliterateFailure
TextEncoding
{ mkTextEncoder = mkEncoder
, mkTextDecoder = mkDecoder
, textEncodingName = name
} = TextEncoding
{ mkTextDecoder = fmap (setRecover
$ recoverDecode TransliterateCodingFailure)
mkDecoder
, mkTextEncoder = fmap (setRecover
$ recoverEncode TransliterateCodingFailure)
mkEncoder
, textEncodingName = name
}
where
setRecover r x = x { recover = r }