-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Parse ghc and cabal error messages and give their causes for easier resolution
--
-- Parse ghc and cabal error messages and give their causes for easier
-- resolution.
--
-- Just pass the error message to errorCauses and get a list of
-- possible explanations/resolutions (ErrorCause)
--
-- Check the test suite for examples.
--
-- This functionality was originally developed in Java as part of
-- EclipseFP but was rewritten in Haskell in the hope it can be useful to
-- other IDE tools or GHC library wrappers.
@package error-analyze
@version 0.0.1
-- | The library itself
module Language.Haskell.ErrorAnalyze
-- | Simple synonym to indicate package names
type ErrorPackage = Text
-- | Simple synonym to indicate package versions
type ErrorVersion = Text
-- | Simple synonym to indicate module names
type ErrorModule = Text
-- | Simple synonym to indicate identifier names
type ErrorIdentifier = Text
-- | Simple synonym to indicate type names
type ErrorType = Text
-- | The possible error causes
data ErrorCause
-- | Package referenced in cabal file is unknown, needs to be installed,
-- with the given version (may be -any)
UnknownPackage :: ErrorPackage -> ErrorVersion -> ErrorCause
-- | A module from the package is referenced but the package is not in the
-- build depends section of the cabal file
UnreferencedPackage :: ErrorPackage -> ErrorCause
-- | The type signature is missing
MissingType :: Text -> ErrorCause
-- | A module has been mispelled, give suggestions
MispelledModule :: Text -> [ModuleSuggestion] -> ErrorCause
-- | Identifier mispellt
MispelledIdentifier :: ErrorIdentifier -> [IdentifierSuggestion] -> ErrorCause
-- | a full import statement is not needed (or only for instances)
UselessImport :: ErrorModule -> ErrorCause
-- | an import element is not needed
UselessImportElement :: ErrorModule -> Text -> ErrorCause
-- | A GHC option is missing (to add in current source file or in Cabal
-- file)
MissingOption :: Text -> ErrorCause
-- | An extension is missing (to add in current source file or in Cabal
-- file)
MissingExtension :: Text -> ErrorCause
-- | A constructor is imported from a module, instead of the type
ConstructorImported :: ErrorModule -> ErrorType -> ErrorIdentifier -> ErrorCause
-- | An incorrect cabal version is used, the proper version range is given
-- in the field
IncorrectCabalVersion :: Text -> ErrorCause
-- | A package is already referenced in the Cabal file or not
data PackageRef
Referenced :: PackageRef
Unreferenced :: PackageRef
-- | A suggestion to use a module (present in the given package/version)
data ModuleSuggestion
ModuleSuggestion :: ErrorPackage -> ErrorVersion -> PackageRef -> ErrorModule -> ModuleSuggestion
-- | A suggestion to use an identifier (present in the given module)
data IdentifierSuggestion
IdentifierSuggestion :: ErrorModule -> ErrorIdentifier -> IdentifierSuggestion
-- | Get the possible causes for a given error message
errorCauses :: Text -> [ErrorCause]
instance GHC.Classes.Ord Language.Haskell.ErrorAnalyze.ErrorCause
instance GHC.Classes.Eq Language.Haskell.ErrorAnalyze.ErrorCause
instance GHC.Read.Read Language.Haskell.ErrorAnalyze.ErrorCause
instance GHC.Show.Show Language.Haskell.ErrorAnalyze.ErrorCause
instance GHC.Classes.Ord Language.Haskell.ErrorAnalyze.IdentifierSuggestion
instance GHC.Classes.Eq Language.Haskell.ErrorAnalyze.IdentifierSuggestion
instance GHC.Read.Read Language.Haskell.ErrorAnalyze.IdentifierSuggestion
instance GHC.Show.Show Language.Haskell.ErrorAnalyze.IdentifierSuggestion
instance GHC.Classes.Ord Language.Haskell.ErrorAnalyze.ModuleSuggestion
instance GHC.Classes.Eq Language.Haskell.ErrorAnalyze.ModuleSuggestion
instance GHC.Read.Read Language.Haskell.ErrorAnalyze.ModuleSuggestion
instance GHC.Show.Show Language.Haskell.ErrorAnalyze.ModuleSuggestion
instance GHC.Enum.Enum Language.Haskell.ErrorAnalyze.PackageRef
instance GHC.Enum.Bounded Language.Haskell.ErrorAnalyze.PackageRef
instance GHC.Classes.Ord Language.Haskell.ErrorAnalyze.PackageRef
instance GHC.Classes.Eq Language.Haskell.ErrorAnalyze.PackageRef
instance GHC.Read.Read Language.Haskell.ErrorAnalyze.PackageRef
instance GHC.Show.Show Language.Haskell.ErrorAnalyze.PackageRef