Cabal-2.5.0.0: A framework for packaging Haskell software
CopyrightIsaac Jones Simon Marlow 2003-2004
LicenseBSD3 portions Copyright (c) 2007, Galois Inc.
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.Glob

Description

Simple file globbing.

Synopsis

Documentation

data GlobResult a Source #

Constructors

GlobMatch a

The glob matched the value supplied.

GlobWarnMultiDot a

The glob did not match the value supplied because the cabal-version is too low and the extensions on the file did not precisely match the glob's extensions, but rather the glob was a proper suffix of the file's extensions; i.e., if not for the low cabal-version, it would have matched.

GlobMissingDirectory FilePath

The glob couldn't match because the directory named doesn't exist. The directory will be as it appears in the glob (i.e., relative to the directory passed to matchDirFileGlob, and, for 'data-files', relative to 'data-dir').

Instances

Instances details
Functor GlobResult # 
Instance details

Defined in Distribution.Simple.Glob

Methods

fmap :: (a -> b) -> GlobResult a -> GlobResult b Source #

(<$) :: a -> GlobResult b -> GlobResult a Source #

Eq a => Eq (GlobResult a) # 
Instance details

Defined in Distribution.Simple.Glob

Methods

(==) :: GlobResult a -> GlobResult a -> Bool #

(/=) :: GlobResult a -> GlobResult a -> Bool #

Ord a => Ord (GlobResult a) # 
Instance details

Defined in Distribution.Simple.Glob

Show a => Show (GlobResult a) # 
Instance details

Defined in Distribution.Simple.Glob

matchDirFileGlob :: Verbosity -> Version -> FilePath -> FilePath -> IO [FilePath] Source #

This will die' when the glob matches no files, or if the glob refers to a missing directory, or if the glob fails to parse.

The returned values do not include the supplied dir prefix, which must itself be a valid directory (hence, it can't be the empty string).

runDirFileGlob :: Verbosity -> FilePath -> Glob -> IO [GlobResult FilePath] Source #

Match files against a pre-parsed glob, starting in a directory.

The returned values do not include the supplied dir prefix, which must itself be a valid directory (hence, it can't be the empty string).

fileGlobMatches :: Glob -> FilePath -> Maybe (GlobResult FilePath) Source #

Returns Nothing if the glob didn't match at all, or Just the result if the glob matched (or would have matched with a higher cabal-version).