module Text.Regex.Do.Type.Do where
import Text.Regex.Base.RegexLike as R
import Text.Regex.Do.Type.Reexport
newtype GroupReplacer b = GroupReplacer (MatchArray -> ReplaceAcc b -> ReplaceAcc b)
data ReplaceAcc b = ReplaceAcc {
acc::b,
pos_adj::Int
}
data Pattern a = Pattern a deriving (Functor)
data Body b = Body b deriving (Functor)
data Replacement r = Replacement r deriving (Functor)
type PosLen = (MatchOffset, MatchLength)
data ReplaceCase = Once
| All
| Utf8
| Multiline deriving Eq
type Opt_ a = R.RegexMaker Regex CompOption ExecOption a