Glob-0.7.1: Globbing library

Safe HaskellSafe-Infered



A number of primitives from which complete Patterns may be constructed.

Using this together with the functions provided by the Monoid instance of Pattern allows for direct manipulation of Patterns beyond what can be done with just the compile family of functions. And of course you don't have to go via Strings if you use these.



literal :: String -> PatternSource

A Pattern which matches the given String literally.

Handles any embedded path and extension separators.

singleWildcard :: PatternSource

Matches any single character except a path separator: corresponds to the ? operator.

wildcard :: PatternSource

Matches any number of characters up to a path separator: corresponds to the * operator.

recursiveWildcard :: PatternSource

Matches any number of characters including path separators: corresponds to the **/ operator.

charRange :: Bool -> [Either Char (Char, Char)] -> PatternSource

Matches a single character if it is within the (inclusive) range in any Right or if it is equal to the character in any Left. Corresponds to the [], [^] and [!] operators.

If the given Bool is False, the result of the match is inverted: the match succeeds if the character does not match according to the above rules.

numberRange :: Maybe Integer -> Maybe Integer -> PatternSource

Matches a number in the given range, which may be open, half-open, or closed. Corresponds to the <> operator.