regex-0.10.0.2: Toolkit for regex-base

Safe HaskellNone
LanguageHaskell2010

Text.RE.Tools.Grep

Contents

Synopsis

Documentation

grep :: IsRegex re ByteString => Verbosity -> re -> FilePath -> IO () Source #

operates a bit like classic grep printing out the lines matched

data Line Source #

grepLines returns a Line for each line in the file, listing all of the Matches for that line

Constructors

Line 

Fields

Instances

grepLines :: IsRegex re ByteString => re -> FilePath -> IO [Line] Source #

returns a Line for each line in the file enumerating all of the matches for that line.

type GrepScript re s t = [(re, LineNo -> Matches s -> Maybe t)] Source #

a GrepScript lists RE-action associations, with the first RE to match a line selecting the action to be executed on each line in the file

grepScript :: IsRegex re s => GrepScript re s t -> [s] -> [t] Source #

given a list of lines, apply the GrepScript to each line of the file

report :: Verbosity -> [Line] -> String Source #

generate a grep report from a list of Line

linesMatched :: Verbosity -> [Line] -> [Line] Source #

given a velocity flag filter out either the lines matched or not matched

IsRegex

class Replace s => IsRegex re s where Source #

the IsRegex class allows tools to be written that will work with regex back end text type supported by the back end

Methods

matchOnce :: re -> s -> Match s Source #

finding the first match

matchMany :: re -> s -> Matches s Source #

finding all matches

makeRegex :: (Functor m, Monad m) => s -> m re Source #

compiling an RE, failing if the RE is not well formed

makeRegexWith :: (Functor m, Monad m) => SimpleREOptions -> s -> m re Source #

comiling an RE, specifying the SimpleREOptions

makeSearchReplace :: (Functor m, Monad m, IsRegex re s) => s -> s -> m (SearchReplace re s) Source #

compiling a SearchReplace template from the RE text and the template Text, failing if they are not well formed

makeSearchReplaceWith :: (Functor m, Monad m, IsRegex re s) => SimpleREOptions -> s -> s -> m (SearchReplace re s) Source #

compiling a SearchReplace template specifing the SimpleREOptions for the RE

makeEscaped :: (Functor m, Monad m) => (s -> s) -> s -> m re Source #

incorporate an escaped string into a compiled RE with the default options

makeEscapedWith :: (Functor m, Monad m) => SimpleREOptions -> (s -> s) -> s -> m re Source #

incorporate an escaped string into a compiled RE with the specified SimpleREOptions

regexSource :: re -> s Source #

extract the text of the RE from the RE

LineNo

newtype LineNo Source #

our line numbers are of the proper zero-based kind

Constructors

ZeroBasedLineNo 

firstLine :: LineNo Source #

the first line in a file

getLineNo :: LineNo -> Int Source #

extract a conventional 1-based line number

lineNo :: Int -> LineNo Source #

inject a conventional 1-based line number

Text.RE

module Text.RE