Safe Haskell | None |
---|
- class (MonadIO m, MonadCatchIO m, Functor m) => MonadClean m
- runMonadClean :: MonadCatchIO m => StateT Params m a -> m a
- modifyDryRun :: MonadClean m => (Bool -> Bool) -> m ()
- modifyExtensions :: MonadClean m => ([Extension] -> [Extension]) -> m ()
- modifyModuVerse :: MonadClean m => (Set ModuleName -> Set ModuleName) -> m ()
- modifyHsFlags :: MonadClean m => ([String] -> [String]) -> m ()
- modifySourceDirs :: MonadClean m => ([FilePath] -> [FilePath]) -> m ()
- modifyRemoveEmptyImports :: MonadClean m => (Bool -> Bool) -> m ()
- modifyTestMode :: MonadClean m => (Bool -> Bool) -> m ()
Documentation
class (MonadIO m, MonadCatchIO m, Functor m) => MonadClean m Source
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.