module Text.Regex.Less.RECtOpts (reCtOpts,RECtOpt(..)) where
import qualified Text.Regex.PCRE.Light as R
data RECtOpt = CtAnchored | CtAutoCallout | CtCaseless | CtDollarEndOnly
| CtDotAll | CtDupNames | CtExtended | CtFirstLine | CtMultiLine
| CtNoAutoCapture | CtReverseGreedy | CtUtf8 | CtNoUtf8Check
| CtNlAnyCrLf | CtNlAnyUnicode | CtNlCr | CtNlLf | CtNlCrLf
| CtRAnyCrLf | CtRAnyUnicode | CtExtra
deriving (Eq,Show)
reCtOpts :: [RECtOpt] -> [R.PCREOption]
reCtOpts = map reCtOpt1
reCtOpt1 :: RECtOpt -> R.PCREOption
reCtOpt1 CtAnchored = R.anchored
reCtOpt1 CtAutoCallout = R.auto_callout
reCtOpt1 CtCaseless = R.caseless
reCtOpt1 CtDollarEndOnly = R.dollar_endonly
reCtOpt1 CtDotAll = R.dotall
reCtOpt1 CtDupNames = R.dupnames
reCtOpt1 CtExtended = R.extended
reCtOpt1 CtFirstLine = R.firstline
reCtOpt1 CtMultiLine = R.multiline
reCtOpt1 CtNoAutoCapture = R.no_auto_capture
reCtOpt1 CtReverseGreedy = R.ungreedy
reCtOpt1 CtUtf8 = R.utf8
reCtOpt1 CtNoUtf8Check = R.no_utf8_check
reCtOpt1 CtNlCr = R.newline_cr
reCtOpt1 CtNlLf = R.newline_lf
reCtOpt1 CtNlCrLf = R.newline_crlf
reCtOpt1 _ = undefined