cabal-gild-1.0.2.3: Formats package descriptions.
Safe HaskellSafe-Inferred
LanguageHaskell2010

CabalGild.Action.EvaluatePragmas

Synopsis

Documentation

run :: MonadWalk m => FilePath -> ([Field [Comment a]], cs) -> m ([Field [Comment a]], cs) Source #

High level wrapper around field that makes this action easier to compose with other actions.

field :: MonadWalk m => FilePath -> Field [Comment a] -> m (Field [Comment a]) Source #

Evaluates pragmas within the given field. Or, if the field is a section, evaluates pragmas recursively within the fields of the section.

If modules are discovered for a field, that fields lines are completely replaced. If anything goes wrong while discovering modules, the original field is returned.

relevantFieldNames :: Set FieldName Source #

These are the names of the fields that can have this action applied to them.

stripAnyExtension :: Set String -> FilePath -> Maybe String Source #

Attempts to strip any of the given extensions from the file path. If any of them succeed, the result is returned. Otherwise Nothing is returned.

extensions :: Set String Source #

The set of extensions that should be discovered by this pragma. Any file with one of these extensions will be discovered.

https://cabal.readthedocs.io/en/3.10/cabal-package.html#modules-and-preprocessors

toModuleName :: [FilePath] -> FilePath -> Maybe ModuleName Source #

Attempts to convert a file path (without an extension) into a module name by making it relative to one of the given directories.

hoistMaybe :: Applicative f => Maybe a -> MaybeT f a Source #

This was added in transformers-0.6.0.0. See https://hub.darcs.net/ross/transformers/issue/49.