pcre-less-0.0.0: Text/Regex/Less/RECtOpts.hs
{- copyright (c) sreservoir.
license bsd three-clause. -}
module Text.Regex.Less.RECtOpts (reCtOpts,RECtOpt(..)) where
import qualified Text.Regex.PCRE.Light as R
-- compile options.
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)
-- translates lists of compile option constructors.
reCtOpts :: [RECtOpt] -> [R.PCREOption]
reCtOpts = map reCtOpt1
-- translates a compile option constructor.
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 CtNAnyCrLf = R.newline_anycrlf
--reCtOpt1 CtNAnyUnicode = R.newline_any
--reCtOpt1 CtNAnyCrLf = R.bsr_anycrlf
--reCtOpt1 CtNAnyUnicode = R.bsr_unicode
reCtOpt1 _ = undefined