module Data.String.AnsiEscapeCodes.Strip.Text ( stripAnsiEscapeCodes ) where import qualified Data.Attoparsec.Text as AT import qualified Data.Text as T import Data.String.AnsiEscapeCodes.Strip.Internal {-# INLINE stripAnsiEscapeCodes #-} stripAnsiEscapeCodes :: T.Text -> T.Text stripAnsiEscapeCodes str = either (const str) id $ AT.parseOnly (stripAnsiEscapeCodesP e) str where e = Env AT.skipWhile AT.takeWhile1