{- copyright (c) sreservoir. license bsd three-clause. -} module Text.Regex.Less.RECtOpts (reCtOpts,RECtOpts(..)) where import qualified Text.Regex.PCRE as R -- compile options. data RECtOpts = CtAnchored | CtAutoCallout | CtBlank | CtCaseless | CtDollarEndOnly | CtDotAll | CtExtended | CtExtra | CtFirstLine | CtMultiLine | CtNoAutoCapture | CtNoUtf8Check | CtUtf8 | CtUngreedy deriving (Eq,Show) -- translates lists of compile option constructors. reCtOpts :: [RECtOpts] -> R.CompOption reCtOpts = sum . map reCtOpt1 -- translates a compile option constructor. reCtOpt1 :: RECtOpts -> R.CompOption reCtOpt1 CtAnchored = R.compAnchored reCtOpt1 CtAutoCallout = R.compAutoCallout reCtOpt1 CtBlank = R.compBlank reCtOpt1 CtCaseless = R.compCaseless reCtOpt1 CtDollarEndOnly = R.compDollarEndOnly reCtOpt1 CtDotAll = R.compDotAll reCtOpt1 CtExtended = R.compExtended reCtOpt1 CtExtra = R.compExtra reCtOpt1 CtFirstLine = R.compFirstLine reCtOpt1 CtMultiLine = R.compMultiline reCtOpt1 CtNoAutoCapture = R.compNoAutoCapture reCtOpt1 CtNoUtf8Check = R.compNoUTF8Check reCtOpt1 CtUtf8 = R.compUTF8 reCtOpt1 CtUngreedy = R.compUngreedy