skylighting-core-0.8.4: syntax highlighting library
Safe HaskellNone
LanguageHaskell2010

Skylighting.Regex

Synopsis

Documentation

data Regex #

A compiled regular expression

data RegexException #

An exception in compiling or executing a regex.

Instances

Instances details
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 :: Type -> Type

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.8.4-1hrdw46yKDz7V8Pa3EHoWW" '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

Instances

Instances details
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 :: forall r r'. (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 :: Type -> Type

Methods

from :: RE -> Rep RE x

to :: Rep RE x -> RE

Binary RE # 
Instance details

Defined in Skylighting.Regex

Methods

put :: RE -> Put

get :: Get RE

putList :: [RE] -> Put

FromJSON RE # 
Instance details

Defined in Skylighting.Regex

Methods

parseJSON :: Value -> Parser RE

parseJSONList :: Value -> Parser [RE]

ToJSON RE # 
Instance details

Defined in Skylighting.Regex

Methods

toJSON :: RE -> Value

toEncoding :: RE -> Encoding

toJSONList :: [RE] -> Value

toEncodingList :: [RE] -> Encoding

type Rep RE # 
Instance details

Defined in Skylighting.Regex

type Rep RE = D1 ('MetaData "RE" "Skylighting.Regex" "skylighting-core-0.8.4-1hrdw46yKDz7V8Pa3EHoWW" '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{...}.