ghcide-0.4.0: The core of an IDE

Safe HaskellNone
LanguageHaskell2010

Development.IDE.GHC.Error

Contents

Synopsis

Producing Diagnostic values

diagFromErrMsg :: Text -> DynFlags -> ErrMsg -> [FileDiagnostic] Source #

Produce a GHC-style error from a source span and a message.

diagFromString :: Text -> DiagnosticSeverity -> SrcSpan -> String -> [FileDiagnostic] Source #

Produce a GHC-style error from a source span and a message.

diagFromStrings :: Text -> DiagnosticSeverity -> [(SrcSpan, String)] -> [FileDiagnostic] Source #

Produce a bag of GHC-style errors (ErrorMessages) from the given (optional) locations and message strings.

catchSrcErrors :: (HasDynFlags m, ExceptionMonad m) => Text -> m a -> m (Either [FileDiagnostic] a) Source #

Run something in a Ghc monad and catch the errors (SourceErrors and compiler-internal exceptions like Panic or InstallationError).

utilities working with spans

srcSpanToRange :: SrcSpan -> Maybe Range Source #

Convert a GHC SrcSpan to a DAML compiler Range

srcSpanToFilename :: SrcSpan -> Maybe FilePath Source #

Extract a file name from a GHC SrcSpan (use message for unhelpful ones) FIXME This may not be an _absolute_ file name, needs fixing.

zeroSpan Source #

Arguments

:: FastString

file path of span

-> RealSrcSpan 

creates a span with zero length in the filename of the argument passed

noSpan :: String -> SrcSpan Source #

Produces an "unhelpful" source span with the given string.

utilities working with severities

toDSeverity :: Severity -> Maybe DiagnosticSeverity Source #

Convert a GHC severity to a DAML compiler Severity. Severities below Warning level are dropped (returning Nothing).