Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functions to access psc-ide's state
- getLoadedModulenames :: Ide m => m [ModuleName]
- getExternFiles :: Ide m => m (ModuleMap ExternsFile)
- resetIdeState :: Ide m => m ()
- cacheRebuild :: Ide m => ExternsFile -> m ()
- cachedRebuild :: Ide m => m (Maybe (ModuleName, ExternsFile))
- insertExterns :: Ide m => ExternsFile -> m ()
- insertModule :: Ide m => (FilePath, Module) -> m ()
- insertExternsSTM :: TVar IdeState -> ExternsFile -> STM ()
- getAllModules :: Ide m => Maybe ModuleName -> m [(ModuleName, [IdeDeclarationAnn])]
- populateVolatileState :: (Ide m, MonadLogger m) => m (Async ())
- populateVolatileStateSync :: (Ide m, MonadLogger m) => m ()
- populateVolatileStateSTM :: TVar IdeState -> STM (ModuleMap (ReexportResult [IdeDeclarationAnn]))
- resolveOperatorsForModule :: ModuleMap [IdeDeclarationAnn] -> [IdeDeclarationAnn] -> [IdeDeclarationAnn]
- resolveInstances :: ModuleMap ExternsFile -> ModuleMap [IdeDeclarationAnn] -> ModuleMap [IdeDeclarationAnn]
- resolveDataConstructorsForModule :: [IdeDeclarationAnn] -> [IdeDeclarationAnn]
Documentation
getLoadedModulenames :: Ide m => m [ModuleName] Source #
Gets the loaded Modulenames
getExternFiles :: Ide m => m (ModuleMap ExternsFile) Source #
Gets all loaded ExternFiles
resetIdeState :: Ide m => m () Source #
Resets all State inside psc-ide
cacheRebuild :: Ide m => ExternsFile -> m () Source #
Sets rebuild cache to the given ExternsFile
cachedRebuild :: Ide m => m (Maybe (ModuleName, ExternsFile)) Source #
Retrieves the rebuild cache
insertExterns :: Ide m => ExternsFile -> m () Source #
Adds an ExternsFile into psc-ide's FileState. This does not populate the VolatileState, which needs to be done after all the necessary Externs and SourceFiles have been loaded.
insertModule :: Ide m => (FilePath, Module) -> m () Source #
Insert a Module into Stage1 of the State
insertExternsSTM :: TVar IdeState -> ExternsFile -> STM () Source #
STM version of insertExterns
getAllModules :: Ide m => Maybe ModuleName -> m [(ModuleName, [IdeDeclarationAnn])] Source #
Checks if the given ModuleName matches the last rebuild cache and if it does returns all loaded definitions + the definitions inside the rebuild cache
populateVolatileState :: (Ide m, MonadLogger m) => m (Async ()) Source #
populateVolatileStateSync :: (Ide m, MonadLogger m) => m () Source #
Resolves reexports and populates VolatileState with data to be used in queries.
populateVolatileStateSTM :: TVar IdeState -> STM (ModuleMap (ReexportResult [IdeDeclarationAnn])) Source #
STM version of populateVolatileState
resolveOperatorsForModule :: ModuleMap [IdeDeclarationAnn] -> [IdeDeclarationAnn] -> [IdeDeclarationAnn] Source #
Looks up the types and kinds for operators and assigns them to their declarations