hls-cabal-plugin-2.5.0.0: Cabal integration plugin with Haskell Language Server
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ide.Plugin.Cabal.Diagnostics

Contents

Synopsis

Documentation

errorDiagnostic :: NormalizedFilePath -> PError -> FileDiagnostic Source #

Produce a diagnostic from a Cabal parser error

warningDiagnostic :: NormalizedFilePath -> PWarning -> FileDiagnostic Source #

Produce a diagnostic from a Cabal parser warning

positionFromCabalPosition :: Position -> Position Source #

Convert a Position from Cabal to a Range that LSP understands.

Prefer this function over hand-rolled unpacking/packing, since LSP is zero-based, while Cabal is one-based.

>>> positionFromCabalPosition $ Lib.Position 1 1
Position 0 0

Re-exports

type FileDiagnostic = (NormalizedFilePath, ShowDiagnostic, Diagnostic) #

Human readable diagnostics for a specific file.

This type packages a pretty printed, human readable error message along with the related source location so that we can display the error on either the console or in the IDE at the right source location.

data Diagnostic #

Represents a diagnostic, such as a compiler error or warning. Diagnostic objects are only valid in the scope of a resource.

Constructors

Diagnostic 

Fields

  • _range :: Range

    The range at which the message applies

  • _severity :: Maybe DiagnosticSeverity

    The diagnostic's severity. Can be omitted. If omitted it is up to the client to interpret diagnostics as error, warning, info or hint.

  • _code :: Maybe (Int32 |? Text)

    The diagnostic's code, which usually appear in the user interface.

  • _codeDescription :: Maybe CodeDescription

    An optional property to describe the error code. Requires the code field (above) to be present/not null.

    Since: lsp-types-3.16.0

  • _source :: Maybe Text

    A human-readable string describing the source of this diagnostic, e.g. typescript or 'super lint'. It usually appears in the user interface.

  • _message :: Text

    The diagnostic's message. It usually appears in the user interface

  • _tags :: Maybe [DiagnosticTag]

    Additional metadata about the diagnostic.

    Since: lsp-types-3.15.0

  • _relatedInformation :: Maybe [DiagnosticRelatedInformation]

    An array of related diagnostic information, e.g. when symbol-names within a scope collide all definitions can be marked via this property.

  • _data_ :: Maybe Value

    A data entry field that is preserved between a `textDocument/publishDiagnostics` notification and `textDocument/codeAction` request.

    Since: lsp-types-3.16.0

Instances

Instances details
FromJSON Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

ToJSON Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Generic Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Associated Types

type Rep Diagnostic :: Type -> Type #

Show Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

NFData Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Methods

rnf :: Diagnostic -> () #

Eq Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Ord Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Hashable Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Pretty Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic

Methods

pretty :: Diagnostic -> Doc ann #

prettyList :: [Diagnostic] -> Doc ann #

HasMessage Diagnostic Text 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasRange Diagnostic Range 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasCode Diagnostic (Maybe (Int32 |? Text)) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasCodeDescription Diagnostic (Maybe CodeDescription) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasData_ Diagnostic (Maybe Value) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasDiagnostics CodeAction (Maybe [Diagnostic]) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasDiagnostics CodeActionContext [Diagnostic] 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasDiagnostics PublishDiagnosticsParams [Diagnostic] 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasItems FullDocumentDiagnosticReport [Diagnostic] 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasItems RelatedFullDocumentDiagnosticReport [Diagnostic] 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasItems WorkspaceFullDocumentDiagnosticReport [Diagnostic] 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasRelatedInformation Diagnostic (Maybe [DiagnosticRelatedInformation]) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasSeverity Diagnostic (Maybe DiagnosticSeverity) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasSource Diagnostic (Maybe Text) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

HasTags Diagnostic (Maybe [DiagnosticTag]) 
Instance details

Defined in Language.LSP.Protocol.Internal.Lens

type Rep Diagnostic 
Instance details

Defined in Language.LSP.Protocol.Internal.Types.Diagnostic