-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A tool to generate missing import statements for Haskell modules. -- -- This tool uses the Haskell Suite [0] to determine the unbound -- variables and types in your source code, and generate import -- statements for them. If there are multiple choices, it provides a -- simple interactive menu for you to choose from. See the home page for -- more details. [0] https:github.com/haskell-suite @package halberd @version 0.1.2.7 module Halberd.Types type CanonicalSymbol = (PackageRef, ModuleName, OrigName) data PackageRef PackageRef :: InstalledPackageId -> PackageId -> PackageRef installedPackageId :: PackageRef -> InstalledPackageId sourcePackageId :: PackageRef -> PackageId toPackageRef :: InstalledPackageInfo_ m -> PackageRef instance Eq PackageRef instance Ord PackageRef instance Show PackageRef module Halberd.LookupTable type LookupTable = Map String [CanonicalSymbol] mkLookupTables :: ModuleT Symbols IO (LookupTable, LookupTable) lookupDefinitions :: LookupTable -> QName (Scoped SrcSpan) -> [CanonicalSymbol] toLookupTable :: Ord k => (a -> k) -> Set a -> Map k [a] module Halberd.CollectNames collectUnboundNames :: Module (Scoped SrcSpan) -> ([QName (Scoped SrcSpan)], [QName (Scoped SrcSpan)]) instance Eq NameSpace instance Ord NameSpace instance Show NameSpace module Halberd.ChosenImports data ChosenImports ChosenImports :: Map (ModuleName ()) ModuleName -> Map ModuleName [Name ()] -> ChosenImports qualifieds :: ChosenImports -> Map (ModuleName ()) ModuleName unqualifieds :: ChosenImports -> Map ModuleName [Name ()] lookupQualified :: ModuleName () -> ChosenImports -> Maybe ModuleName insertQualified :: ModuleName () -> ModuleName -> ChosenImports -> ChosenImports insertUnqualified :: ModuleName -> Name () -> ChosenImports -> ChosenImports insertChoice :: QName a -> ModuleName -> ChosenImports -> ChosenImports isEmpty :: ChosenImports -> Bool showChosenImports :: ChosenImports -> [String] showQualifieds :: Map (ModuleName ()) ModuleName -> [String] showUnqualifieds :: Map ModuleName [Name ()] -> [String] showQualified :: ModuleName () -> ModuleName -> String showUnqualified :: ModuleName -> [Name ()] -> String instance Show ChosenImports instance Eq ChosenImports instance Monoid ChosenImports module Halberd.Suggestions type Suggestion = (QName (Scoped SrcSpan), [CanonicalSymbol]) suggestedImports :: Module SrcSpanInfo -> ModuleT Symbols IO [Suggestion] type ChooseExternal m = QName (Scoped SrcSpan) -> [CanonicalSymbol] -> m CanonicalSymbol resolveAllSuggestions :: (Functor m, Monad m) => ChooseExternal m -> [Suggestion] -> m ChosenImports resolveSuggestions :: (Functor m, MonadState ChosenImports m) => [Suggestion] -> m [Suggestion] resolveSuggestionsOnePass :: (Functor m, MonadState ChosenImports m) => [Suggestion] -> m [Suggestion] findUnbound :: Module SrcSpanInfo -> ModuleT Symbols IO ([QName (Scoped SrcSpan)], [QName (Scoped SrcSpan)])