skylighting-core-0.7.4: syntax highlighting library

Safe Haskell | None
Language | Haskell2010

Skylighting.Regex

Synopsis

- data Regex
- data RegexException
- data RE = RE {
  - reString :: ByteString
  - reCaseSensitive :: Bool
  }
- compileRegex :: Bool -> ByteString -> Regex
- matchRegex :: Regex -> ByteString -> Maybe [ByteString]
- convertOctalEscapes :: String -> String

# Documentation

data Regex #

A compiled regular expression

Instances

RegexOptions Regex CompOption ExecOption |
Instance details Defined in Text.Regex.PCRE.Wrap Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #

data RegexException #

An exception in compiling or executing a regex.

Instances

Show RegexException # |
Instance details Defined in Skylighting.Regex Methods showsPrec :: Int -> RegexException -> ShowS # show :: RegexException -> String # showList :: [RegexException] -> ShowS #
Generic RegexException # |
Instance details Defined in Skylighting.Regex Associated Types type Rep RegexException :: * -> * # Methods from :: RegexException -> Rep RegexException x # to :: Rep RegexException x -> RegexException #
Exception RegexException # |
Instance details Defined in Skylighting.Regex Methods toException :: RegexException -> SomeException # fromException :: SomeException -> Maybe RegexException # displayException :: RegexException -> String #
type Rep RegexException # |
Instance details Defined in Skylighting.Regex type Rep RegexException = D1 (MetaData "RegexException" "Skylighting.Regex" "skylighting-core-0.7.4-5URP86H4jx7AEibUXoVRaG" True) (C1 (MetaCons "RegexException" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))

data RE #

A representation of a regular expression.

Constructors

RE |
Fields reString :: ByteString reCaseSensitive :: Bool

Instances

Eq RE # |
Instance details Defined in Skylighting.Regex Methods (==) :: RE -> RE -> Bool # (/=) :: RE -> RE -> Bool #
Data RE # |
Instance details Defined in Skylighting.Regex Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RE -> c RE # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RE # toConstr :: RE -> Constr # dataTypeOf :: RE -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RE) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RE) # gmapT :: (forall b. Data b => b -> b) -> RE -> RE # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RE -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RE -> r # gmapQ :: (forall d. Data d => d -> u) -> RE -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RE -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RE -> m RE # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RE -> m RE # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RE -> m RE #
Ord RE # |
Instance details Defined in Skylighting.Regex Methods compare :: RE -> RE -> Ordering # (<) :: RE -> RE -> Bool # (<=) :: RE -> RE -> Bool # (>) :: RE -> RE -> Bool # (>=) :: RE -> RE -> Bool # max :: RE -> RE -> RE # min :: RE -> RE -> RE #
Read RE # |
Instance details Defined in Skylighting.Regex Methods readsPrec :: Int -> ReadS RE # readList :: ReadS [RE] # readPrec :: ReadPrec RE # readListPrec :: ReadPrec [RE] #
Show RE # |
Instance details Defined in Skylighting.Regex Methods showsPrec :: Int -> RE -> ShowS # show :: RE -> String # showList :: [RE] -> ShowS #
Generic RE # |
Instance details Defined in Skylighting.Regex Associated Types type Rep RE :: * -> * # Methods from :: RE -> Rep RE x # to :: Rep RE x -> RE #
ToJSON RE # |
Instance details Defined in Skylighting.Regex Methods toJSON :: RE -> Value # toEncoding :: RE -> Encoding # toJSONList :: [RE] -> Value # toEncodingList :: [RE] -> Encoding #
FromJSON RE # |
Instance details Defined in Skylighting.Regex Methods parseJSON :: Value -> Parser RE # parseJSONList :: Value -> Parser [RE] #
Binary RE # |
Instance details Defined in Skylighting.Regex Methods put :: RE -> Put # get :: Get RE # putList :: [RE] -> Put #
type Rep RE # |
Instance details Defined in Skylighting.Regex type Rep RE = D1 (MetaData "RE" "Skylighting.Regex" "skylighting-core-0.7.4-5URP86H4jx7AEibUXoVRaG" False) (C1 (MetaCons "RE" PrefixI True) (S1 (MetaSel (Just "reString") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString) :*: S1 (MetaSel (Just "reCaseSensitive") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))

compileRegex :: Bool -> ByteString -> Regex #

Compile a PCRE regex. If the first parameter is True, the regex is case-sensitive, otherwise caseless. The regex is compiled from a bytestring interpreted as UTF-8. If the regex cannot be compiled, a `RegexException` is thrown.

matchRegex :: Regex -> ByteString -> Maybe [ByteString] #

Match a `Regex` against a bytestring. Returns `Nothing` if no match, otherwise `Just` a nonempty list of bytestrings. The first bytestring in the list is the match, the others the captures, if any. If there are errors in executing the regex, a `RegexException` is thrown.

convertOctalEscapes :: String -> String #

Convert octal escapes to the form pcre wants. Note: need at least pcre 8.34 for the form o{dddd}. So we prefer ddd or x{...}.