Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Status
- data Progress = Progress {}
- data Task = Task {}
- data UpdateOptions = UpdateOptions {
- _updateTasks :: [Task]
- _updateGhcOpts :: [String]
- _updateDocs :: Bool
- _updateInfer :: Bool
- newtype UpdateM m a = UpdateM {
- runUpdateM :: ReaderT UpdateState (WriterT [ModuleLocation] (ClientM m)) a
- runUpdate :: ServerMonadBase m => UpdateOptions -> UpdateM m a -> ClientM m a
- postStatus :: UpdateMonad m => Task -> m ()
- updater :: UpdateMonad m => [ModuleLocation] -> m ()
- runTask :: (Display t, UpdateMonad m, NFData a) => String -> t -> m a -> m a
- runTasks :: UpdateMonad m => [m a] -> m [a]
- runTasks_ :: UpdateMonad m => [m ()] -> m ()
- scanModules :: UpdateMonad m => [String] -> [ModuleToScan] -> m ()
- scanFile :: UpdateMonad m => [String] -> Path -> m ()
- scanFiles :: UpdateMonad m => [(FileSource, [String])] -> m ()
- scanFileContents :: UpdateMonad m => [String] -> Path -> Maybe Text -> m ()
- scanCabal :: UpdateMonad m => [String] -> m ()
- prepareSandbox :: UpdateMonad m => Sandbox -> m ()
- scanSandbox :: UpdateMonad m => [String] -> Sandbox -> m ()
- scanPackageDb :: UpdateMonad m => [String] -> PackageDbStack -> m ()
- scanProjectFile :: UpdateMonad m => [String] -> Path -> m Project
- scanProjectStack :: UpdateMonad m => [String] -> Path -> m ()
- scanProject :: UpdateMonad m => [String] -> Path -> m ()
- scanDirectory :: UpdateMonad m => [String] -> Path -> m ()
- scanContents :: UpdateMonad m => [String] -> ScanContents -> m ()
- scanPackageDbStackDocs :: UpdateMonad m => [String] -> PackageDbStack -> m ()
- scanDocs :: UpdateMonad m => [Module] -> m ()
- setModTypes :: UpdateMonad m => ModuleId -> [Note TypedExpr] -> m ()
- inferModTypes :: UpdateMonad m => [Module] -> m ()
- scan :: UpdateMonad m => m [Only Int :. (ModuleLocation :. Inspection)] -> [ModuleToScan] -> [String] -> ([ModuleToScan] -> m ()) -> m ()
- processEvents :: ([(Watched, Event)] -> IO ()) -> MVar (Async ()) -> MVar [(Watched, Event)] -> [(Watched, Event)] -> ClientM IO ()
- updateEvents :: ServerMonadBase m => [(Watched, Event)] -> UpdateM m ()
- applyUpdates :: UpdateOptions -> [(Watched, Event)] -> ClientM IO ()
- cacheGhcWarnings :: Session -> [ModuleLocation] -> GhcM a -> GhcM a
- cachedWarnings :: SessionMonad m => [ModuleLocation] -> m [Note OutputMessage]
- module HsDev.Database.Update.Types
- module HsDev.Watcher
- module Control.Monad.Except
Documentation
data UpdateOptions Source #
UpdateOptions | |
|
UpdateM | |
|
MonadTrans UpdateM Source # | |
Monad m => MonadReader UpdateState (UpdateM m) Source # | |
MonadBase b m => MonadBase b (UpdateM m) Source # | |
MonadBaseControl b m => MonadBaseControl b (UpdateM m) Source # | |
Monad m => Monad (UpdateM m) Source # | |
Functor m => Functor (UpdateM m) Source # | |
Applicative m => Applicative (UpdateM m) Source # | |
MonadPlus m => MonadPlus (UpdateM m) Source # | |
Alternative m => Alternative (UpdateM m) Source # | |
MonadIO m => MonadIO (UpdateM m) Source # | |
MonadThrow m => MonadThrow (UpdateM m) Source # | |
MonadCatch m => MonadCatch (UpdateM m) Source # | |
MonadMask m => MonadMask (UpdateM m) Source # | |
(MonadIO m, MonadMask m) => MonadLog (UpdateM m) Source # | |
ServerMonadBase m => CommandMonad (UpdateM m) Source # | |
ServerMonadBase m => SessionMonad (UpdateM m) Source # | |
Monad m => MonadWriter [ModuleLocation] (UpdateM m) Source # | |
type StM (UpdateM m) a Source # | |
runUpdate :: ServerMonadBase m => UpdateOptions -> UpdateM m a -> ClientM m a Source #
postStatus :: UpdateMonad m => Task -> m () Source #
Post status
updater :: UpdateMonad m => [ModuleLocation] -> m () Source #
Mark module as updated
runTasks :: UpdateMonad m => [m a] -> m [a] Source #
Run many tasks with numeration
runTasks_ :: UpdateMonad m => [m ()] -> m () Source #
Run many tasks with numeration
scanModules :: UpdateMonad m => [String] -> [ModuleToScan] -> m () Source #
Scan modules
scanFile :: UpdateMonad m => [String] -> Path -> m () Source #
Scan source file, resolve dependent modules
scanFiles :: UpdateMonad m => [(FileSource, [String])] -> m () Source #
Scan source files, resolving dependent modules
scanFileContents :: UpdateMonad m => [String] -> Path -> Maybe Text -> m () Source #
Scan source file with contents and resolve dependent modules
scanCabal :: UpdateMonad m => [String] -> m () Source #
Scan cabal modules, doesn't rescan if already scanned
prepareSandbox :: UpdateMonad m => Sandbox -> m () Source #
Prepare sandbox for scanning. This is used for stack project to build & configure.
scanSandbox :: UpdateMonad m => [String] -> Sandbox -> m () Source #
Scan sandbox modules, doesn't rescan if already scanned
scanPackageDb :: UpdateMonad m => [String] -> PackageDbStack -> m () Source #
Scan top of package-db stack, usable for rescan
scanProjectFile :: UpdateMonad m => [String] -> Path -> m Project Source #
Scan project file
scanProjectStack :: UpdateMonad m => [String] -> Path -> m () Source #
Scan project and related package-db stack
scanProject :: UpdateMonad m => [String] -> Path -> m () Source #
Scan project
scanDirectory :: UpdateMonad m => [String] -> Path -> m () Source #
Scan directory for source files and projects
scanContents :: UpdateMonad m => [String] -> ScanContents -> m () Source #
scanPackageDbStackDocs :: UpdateMonad m => [String] -> PackageDbStack -> m () Source #
Scan installed docs
scanDocs :: UpdateMonad m => [Module] -> m () Source #
Scan docs for inspected modules
setModTypes :: UpdateMonad m => ModuleId -> [Note TypedExpr] -> m () Source #
Set inferred types for module
inferModTypes :: UpdateMonad m => [Module] -> m () Source #
Infer types for modules
:: UpdateMonad m | |
=> m [Only Int :. (ModuleLocation :. Inspection)] | Get affected modules, obsolete will be removed, changed will be updated |
-> [ModuleToScan] | Actual modules, other will be removed |
-> [String] | Extra scan options |
-> ([ModuleToScan] -> m ()) | Update function |
-> m () |
Generic scan function. Removed obsolete modules and calls callback on changed modules.
processEvents :: ([(Watched, Event)] -> IO ()) -> MVar (Async ()) -> MVar [(Watched, Event)] -> [(Watched, Event)] -> ClientM IO () Source #
updateEvents :: ServerMonadBase m => [(Watched, Event)] -> UpdateM m () Source #
applyUpdates :: UpdateOptions -> [(Watched, Event)] -> ClientM IO () Source #
cacheGhcWarnings :: Session -> [ModuleLocation] -> GhcM a -> GhcM a Source #
cachedWarnings :: SessionMonad m => [ModuleLocation] -> m [Note OutputMessage] Source #
Get cached warnings
module HsDev.Database.Update.Types
module HsDev.Watcher
module Control.Monad.Except