ghcide-0.3.0: The core of an IDE

Safe HaskellNone
LanguageHaskell2010

Development.IDE.Types.Diagnostics

Synopsis

Documentation

data Diagnostic #

Instances
Eq Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Ord Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Read Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Show Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Generic Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Associated Types

type Rep Diagnostic :: Type -> Type #

ToJSON Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

FromJSON Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

NFData Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Methods

rnf :: Diagnostic -> () #

type Rep Diagnostic 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

data ShowDiagnostic Source #

Defines whether a particular diagnostic should be reported back to the user.

One important use case is "missing signature" code lenses, for which we need to enable the corresponding warning during type checking. However, we do not want to show the warning unless the programmer asks for it (#261).

Constructors

ShowDiag

Report back to the user

HideDiag

Hide from user

type FileDiagnostic = (NormalizedFilePath, ShowDiagnostic, Diagnostic) Source #

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.

type IdeResult v = ([FileDiagnostic], Maybe v) Source #

The result of an IDE operation. Warnings and errors are in the Diagnostic, and a value is in the Maybe. For operations that throw an error you expect a non-empty list of diagnostics, at least one of which is an error, and a Nothing. For operations that succeed you expect perhaps some warnings and a Just. For operations that depend on other failing operations you may get empty diagnostics and a Nothing, to indicate this phase throws no fresh errors but still failed.

A rule on a file should only return diagnostics for that given file. It should not propagate diagnostic errors through multiple phases.

data DiagnosticSeverity #

Constructors

DsError

Error = 1,

DsWarning

Warning = 2,

DsInfo

Info = 3,

DsHint

Hint = 4

Instances
Eq DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Ord DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Read DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Show DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Generic DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Associated Types

type Rep DiagnosticSeverity :: Type -> Type #

ToJSON DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

FromJSON DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

NFData DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

Methods

rnf :: DiagnosticSeverity -> () #

type Rep DiagnosticSeverity 
Instance details

Defined in Language.Haskell.LSP.Types.Diagnostic

type Rep DiagnosticSeverity = D1 (MetaData "DiagnosticSeverity" "Language.Haskell.LSP.Types.Diagnostic" "haskell-lsp-types-0.22.0.0-4uvQXZ4RjIwGZdqqtXC5yo" False) ((C1 (MetaCons "DsError" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "DsWarning" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "DsInfo" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "DsHint" PrefixI False) (U1 :: Type -> Type)))

newtype List a #

This data type is used to host a FromJSON instance for the encoding used by elisp, where an empty list shows up as "null"

Constructors

List [a] 
Instances
Functor List 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

fmap :: (a -> b) -> List a -> List b #

(<$) :: a -> List b -> List a #

Foldable List 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

fold :: Monoid m => List m -> m #

foldMap :: Monoid m => (a -> m) -> List a -> m #

foldr :: (a -> b -> b) -> b -> List a -> b #

foldr' :: (a -> b -> b) -> b -> List a -> b #

foldl :: (b -> a -> b) -> b -> List a -> b #

foldl' :: (b -> a -> b) -> b -> List a -> b #

foldr1 :: (a -> a -> a) -> List a -> a #

foldl1 :: (a -> a -> a) -> List a -> a #

toList :: List a -> [a] #

null :: List a -> Bool #

length :: List a -> Int #

elem :: Eq a => a -> List a -> Bool #

maximum :: Ord a => List a -> a #

minimum :: Ord a => List a -> a #

sum :: Num a => List a -> a #

product :: Num a => List a -> a #

Traversable List 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

traverse :: Applicative f => (a -> f b) -> List a -> f (List b) #

sequenceA :: Applicative f => List (f a) -> f (List a) #

mapM :: Monad m => (a -> m b) -> List a -> m (List b) #

sequence :: Monad m => List (m a) -> m (List a) #

Eq a => Eq (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

(==) :: List a -> List a -> Bool #

(/=) :: List a -> List a -> Bool #

Ord a => Ord (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

compare :: List a -> List a -> Ordering #

(<) :: List a -> List a -> Bool #

(<=) :: List a -> List a -> Bool #

(>) :: List a -> List a -> Bool #

(>=) :: List a -> List a -> Bool #

max :: List a -> List a -> List a #

min :: List a -> List a -> List a #

Read a => Read (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Show a => Show (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

showsPrec :: Int -> List a -> ShowS #

show :: List a -> String #

showList :: [List a] -> ShowS #

Generic (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Associated Types

type Rep (List a) :: Type -> Type #

Methods

from :: List a -> Rep (List a) x #

to :: Rep (List a) x -> List a #

Semigroup (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

(<>) :: List a -> List a -> List a #

sconcat :: NonEmpty (List a) -> List a #

stimes :: Integral b => b -> List a -> List a #

Monoid (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

mempty :: List a #

mappend :: List a -> List a -> List a #

mconcat :: [List a] -> List a #

ToJSON a => ToJSON (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

FromJSON a => FromJSON (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

NFData a => NFData (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

Methods

rnf :: List a -> () #

type Rep (List a) 
Instance details

Defined in Language.Haskell.LSP.Types.List

type Rep (List a) = D1 (MetaData "List" "Language.Haskell.LSP.Types.List" "haskell-lsp-types-0.22.0.0-4uvQXZ4RjIwGZdqqtXC5yo" True) (C1 (MetaCons "List" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [a])))