module Data.String.AnsiEscapeCodes.Strip.Text.Lazy ( stripAnsiEscapeCodes ) where import qualified Data.Attoparsec.Text.Lazy as AT import qualified Data.Text.Lazy as T import Data.String.AnsiEscapeCodes.Strip.Internal {-# INLINE stripAnsiEscapeCodes #-} stripAnsiEscapeCodes :: T.Text -> T.Text stripAnsiEscapeCodes str = case AT.parse (stripAnsiEscapeCodesP e) str of AT.Done _ r -> T.fromStrict r AT.Fail {} -> str where e = Env AT.skipWhile AT.takeWhile1