    -- File created: 2008-10-10 13:37:42

    -- | A library for globbing: matching patterns against file paths akin to the
    -- POSIX @glob()@ function.
    --
    -- Pattern syntax is documented by 'compile'. To toggle features at compile
    -- time, look into 'CompOptions'. To modify matching behaviour, look into
    -- 'MatchOptions'.
    --
    -- Basic usage examples:
    --
    -- Matching a 'String' pattern against a 'FilePath':
    --
    -- @
    -- 'match' ('compile' pattern) filepath
    -- @
    --
    -- Matching a 'String' pattern against all paths in the current working
    -- directory:
    --
    -- @
    -- 'glob' pattern
    -- @
    --
    -- Matching a 'String' pattern against all paths in a given directory (a
    -- 'FilePath'):
    --
    -- @
    -- 'globDir1' ('compile' pattern) directorypath
    -- @
    --
    -- Matching a list of 'String' patterns against all paths in a given directory,
    -- returning the matches for each pattern as well as the paths not matched by
    -- any of the patterns:
    --
    -- @
    -- 'globDir' (map 'compile' patterns) directorypath
    -- @
    module System.FilePath.Glob
       ( -- * Data type
         Pattern
         -- * Functions
         -- ** Compilation
       , compile, decompile, simplify
         -- *** Options
       , CompOptions(..)
       , compileWith, tryCompileWith
         -- **** Predefined option sets
       , compDefault, compPosix
         -- ** Matching
       , match
       , globDir, globDir1, glob
         -- *** Options
       , MatchOptions(..)
       , matchWith
       , GlobOptions(..)
       , globDirWith
         -- **** Predefined option sets
       , matchDefault, matchPosix
       , globDefault
         -- ** Miscellaneous
       , commonDirectory
       , isLiteral
       ) where

    import System.FilePath.Glob.Base      ( Pattern
                                          , CompOptions(..), MatchOptions(..)
                                          , compDefault, compPosix
                                          , matchDefault, matchPosix
                                          , compile, compileWith, tryCompileWith
                                          , decompile
                                          , isLiteral
                                          )
    import System.FilePath.Glob.Directory ( GlobOptions(..), globDefault
                                          , globDir, globDirWith, globDir1, glob
                                          , commonDirectory
                                          )
    import System.FilePath.Glob.Match     (match, matchWith)
    import System.FilePath.Glob.Simplify  (simplify)