{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Text.RE.TDFA.Sequence ( (*=~) , (?=~) , (=~) , (=~~) , module Text.RE , module Text.RE.TDFA.RE ) where import qualified Data.Sequence as S import Text.Regex.Base import Text.RE import Text.RE.Internal.AddCaptureNames import Text.RE.TDFA.RE import qualified Text.Regex.TDFA as TDFA (*=~) :: (S.Seq Char) -> RE -> Matches (S.Seq Char) (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs (?=~) :: (S.Seq Char) -> RE -> Match (S.Seq Char) (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs (=~) :: ( RegexContext TDFA.Regex (S.Seq Char) a , RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption String ) => (S.Seq Char) -> RE -> a (=~) bs rex = match (reRegex rex) bs (=~~) :: ( Monad m , RegexContext TDFA.Regex (S.Seq Char) a , RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption String ) => (S.Seq Char) -> RE -> m a (=~~) bs rex = matchM (reRegex rex) bs instance IsRegex RE (S.Seq Char) where matchOnce = flip (?=~) matchMany = flip (*=~) regexSource = reSource