module-management-0.9.3.1: Clean up module imports, split and merge modules

Safe HaskellNone

Language.Haskell.Modules.Params

Synopsis

Documentation

runMonadClean :: MonadCatchIO m => StateT Params m a -> m aSource

Create the environment required to do import cleaning and module splitting/merging. This environment, StateT Params m a, is an instance of MonadClean.

modifyDryRun :: MonadClean m => (Bool -> Bool) -> m ()Source

Controls whether file updates will actually be performed. Default is False. (I recommend running in a directory controlled by a version control system so you don't have to worry about this.)

modifyExtensions :: MonadClean m => ([Extension] -> [Extension]) -> m ()Source

Modify the extra extensions passed to the compiler and the parser. Default value is the list in defaultParseMode.

modifyModuVerse :: MonadClean m => (Set ModuleName -> Set ModuleName) -> m ()Source

Modify the set of modules whose imports will be updated when modules are split or merged. No default, it is an error to run splitModules or catModules without first setting this.

modifyHsFlags :: MonadClean m => ([String] -> [String]) -> m ()Source

Modify the list of extra flags passed to GHC.

modifySourceDirs :: MonadClean m => ([FilePath] -> [FilePath]) -> m ()Source

Modify the list of directories that will be searched for source files. Default is ["."].

modifyRemoveEmptyImports :: MonadClean m => (Bool -> Bool) -> m ()Source

Change the flag controlling whether imports that become empty will be removed. Default is True.

modifyTestMode :: MonadClean m => (Bool -> Bool) -> m ()Source

If TestMode is turned on no import cleaning will occur after a split or cat. Default is False.