ghcide-2.9.0.0: The core of an IDE

Safe Haskell | None
Language | GHC2021

Development.IDE.Core.RuleTypes

Description

A Shake implementation of the compiler service, built using the Shaker abstraction layer for in-memory use.

Synopsis

- newtype GhcSessionDeps where
  - GhcSessionDeps_ {
    - fullModSummary :: Bool
    }
  - pattern GhcSessionDeps :: GhcSessionDeps
- data TcModuleResult = TcModuleResult {
  - tmrParsed :: ParsedModule
  - tmrRenamed :: RenamedSource
  - tmrTypechecked :: TcGblEnv
  - tmrTopLevelSplices :: Splices
  - tmrDeferredError :: !Bool
  - tmrRuntimeModules :: !(ModuleEnv ByteString)
  }
- data FileOfInterestStatus
  - = OnDisk
  - | Modified {
    - firstOpen :: !Bool
    }
- data GetParsedModule = GetParsedModule
- data GhcSessionIO = GhcSessionIO
- data GetClientSettings = GetClientSettings
- newtype GhcSessionDeps = GhcSessionDeps_ {
  - fullModSummary :: Bool
  }
- pattern GhcSessionDeps :: GhcSessionDeps
- newtype GetModificationTime = GetModificationTime_ {
  - missingFileDiagnostics :: Bool
  }
- pattern GetModificationTime :: GetModificationTime
- data FileVersion
  - = ModificationTime !POSIXTime
  - | VFSVersion !Int32
- data GenerateCore = GenerateCore
- data GetHieAst = GetHieAst
- data TypeCheck = TypeCheck
- data IdeGhcSession = IdeGhcSession {
  - loadSessionFun :: FilePath -> IO (IdeResult HscEnvEq, [FilePath])
  - sessionVersion :: !Int
  }
- data GhcSession = GhcSession
- data GetFileExists = GetFileExists
- newtype ImportMap = ImportMap {
  - importMap :: Map ModuleName NormalizedFilePath
  }
- data GetLocatedImports = GetLocatedImports
- data GetKnownTargets = GetKnownTargets
- data LinkableType
  - = ObjectLinkable
  - | BCOLinkable
- encodeLinkableType :: Maybe LinkableType -> ByteString
- data GetParsedModuleWithComments = GetParsedModuleWithComments
- data GetModuleGraph = GetModuleGraph
- data GetLinkable = GetLinkable
- data LinkableResult = LinkableResult {
  - linkableHomeMod :: !HomeModInfo
  - linkableHash :: !ByteString
  }
- data GetImportMap = GetImportMap
- data Splices = Splices {
  - exprSplices :: [(LHsExpr GhcTc, LHsExpr GhcPs)]
  - patSplices :: [(LHsExpr GhcTc, LPat GhcPs)]
  - typeSplices :: [(LHsExpr GhcTc, LHsType GhcPs)]
  - declSplices :: [(LHsExpr GhcTc, [LHsDecl GhcPs])]
  - awSplices :: [(LHsExpr GhcTc, Serialized)]
  }
- tmrModSummary :: TcModuleResult -> ModSummary
- data HiFileResult = HiFileResult {
  - hirModSummary :: !ModSummary
  - hirModIface :: !ModIface
  - hirModDetails :: ModDetails
  - hirIfaceFp :: !ByteString
  - hirRuntimeModules :: !(ModuleEnv ByteString)
  - hirCoreFp :: !(Maybe (CoreFile, ByteString))
  }
- hiFileFingerPrint :: HiFileResult -> ByteString
- mkHiFileResult :: ModSummary -> ModIface -> ModDetails -> ModuleEnv ByteString -> Maybe (CoreFile, ByteString) -> HiFileResult
- data HieAstResult = Typeable a => HAR {
  - hieModule :: Module
  - hieAst :: !(HieASTs a)
  - refMap :: RefMap a
  - typeRefs :: Map Name [RealSrcSpan]
  - hieKind :: !(HieKind a)
  }
- data HieKind a where
  - HieFromDisk :: !HieFile -> HieKind Int
  - HieFresh :: HieKind Type
- data GetBindings = GetBindings
- data DocAndTyThingMap = DKMap {
  - getDocMap :: !DocMap
  - getTyThingMap :: !TyThingMap
  }
- data GetDocMap = GetDocMap
- data ReportImportCycles = ReportImportCycles
- data GetModIfaceFromDisk = GetModIfaceFromDisk
- data GetModIfaceFromDiskAndIndex = GetModIfaceFromDiskAndIndex
- data GetModIface = GetModIface
- data GetFileContents = GetFileContents
- data AddWatchedFile = AddWatchedFile
- vfsVersion :: FileVersion -> Maybe Int32
- data IsFileOfInterestResult
  - = NotFOI
  - | IsFOI FileOfInterestStatus
- data IsFileOfInterest = IsFileOfInterest
- data ModSummaryResult = ModSummaryResult {
  - msrModSummary :: !ModSummary
  - msrImports :: [LImportDecl GhcPs]
  - msrFingerprint :: !Fingerprint
  - msrHscEnv :: !HscEnv
  }
- data GetModSummary = GetModSummary
- data GetModSummaryWithoutTimestamps = GetModSummaryWithoutTimestamps
- data NeedsCompilation = NeedsCompilation
- awSplicesL :: Lens' Splices [(LHsExpr GhcTc, Serialized)]
- declSplicesL :: Lens' Splices [(LHsExpr GhcTc, [LHsDecl GhcPs])]
- exprSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsExpr GhcPs)]
- patSplicesL :: Lens' Splices [(LHsExpr GhcTc, LPat GhcPs)]
- typeSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsType GhcPs)]

# Documentation

newtype GhcSessionDeps #

Constructors

GhcSessionDeps_ |

Fields

- fullModSummary :: Bool

  Load full ModSummary values in the GHC session. Required for interactive evaluation, but leads to more cache invalidations

Bundled Patterns

pattern GhcSessionDeps :: GhcSessionDeps |

#### Instances

Instances details

NFData GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionDeps -> () #
Show GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionDeps -> ShowS # show :: GhcSessionDeps -> String # showList :: [GhcSessionDeps] -> ShowS #
Eq GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionDeps -> GhcSessionDeps -> Bool # (/=) :: GhcSessionDeps -> GhcSessionDeps -> Bool #
Hashable GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionDeps -> Int # hash :: GhcSessionDeps -> Int #
type RuleResult GhcSessionDeps # | A GHC session preloaded with all the dependencies This rule is also responsible for calling ReportImportCycles for the direct dependencies
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionDeps = HscEnvEq

data TcModuleResult #

Contains the typechecked module and the OrigNameCache entry for that module.

Constructors

TcModuleResult |

Fields

- tmrParsed :: ParsedModule
- tmrRenamed :: RenamedSource
- tmrTypechecked :: TcGblEnv
- tmrTopLevelSplices :: Splices

  Typechecked splice information

- tmrDeferredError :: !Bool

  Did we defer any type errors for this module?

- tmrRuntimeModules :: !(ModuleEnv ByteString)

  Which modules did we need at runtime while compiling this file? Used for recompilation checking in the presence of TH Stores the hash of their core file

#### Instances

Instances details

NFData TcModuleResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: TcModuleResult -> () #
Show TcModuleResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> TcModuleResult -> ShowS # show :: TcModuleResult -> String # showList :: [TcModuleResult] -> ShowS #

data FileOfInterestStatus #

Constructors

OnDisk |
Modified |

Fields

- firstOpen :: !Bool

  was this file just opened

#### Instances

Instances details

NFData FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: FileOfInterestStatus -> () #
Generic FileOfInterestStatus # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep FileOfInterestStatus |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileOfInterestStatus = D1 ('MetaData "FileOfInterestStatus" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "OnDisk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Modified" 'PrefixI 'True) (S1 ('MetaSel ('Just "firstOpen") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))

Methods

from :: FileOfInterestStatus -> Rep FileOfInterestStatus x #

to :: Rep FileOfInterestStatus x -> FileOfInterestStatus #

Show FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> FileOfInterestStatus -> ShowS # show :: FileOfInterestStatus -> String # showList :: [FileOfInterestStatus] -> ShowS #
Eq FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: FileOfInterestStatus -> FileOfInterestStatus -> Bool # (/=) :: FileOfInterestStatus -> FileOfInterestStatus -> Bool #
Hashable FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> FileOfInterestStatus -> Int # hash :: FileOfInterestStatus -> Int #
Pretty FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods pretty :: FileOfInterestStatus -> Doc ann # prettyList :: [FileOfInterestStatus] -> Doc ann #
type Rep FileOfInterestStatus # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileOfInterestStatus = D1 ('MetaData "FileOfInterestStatus" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "OnDisk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Modified" 'PrefixI 'True) (S1 ('MetaSel ('Just "firstOpen") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))

data GetParsedModule #

Constructors

GetParsedModule |

#### Instances

Instances details

NFData GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetParsedModule -> () #
Generic GetParsedModule # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetParsedModule |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModule = D1 ('MetaData "GetParsedModule" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetParsedModule" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetParsedModule -> Rep GetParsedModule x #

to :: Rep GetParsedModule x -> GetParsedModule #

Show GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetParsedModule -> ShowS # show :: GetParsedModule -> String # showList :: [GetParsedModule] -> ShowS #
Eq GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetParsedModule -> GetParsedModule -> Bool # (/=) :: GetParsedModule -> GetParsedModule -> Bool #
Hashable GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetParsedModule -> Int # hash :: GetParsedModule -> Int #
type Rep GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModule = D1 ('MetaData "GetParsedModule" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetParsedModule" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetParsedModule # | The parse tree for the file using GetFileContents
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetParsedModule = ParsedModule

data GhcSessionIO #

Constructors

GhcSessionIO |

#### Instances

Instances details

NFData GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionIO -> () #
Generic GhcSessionIO # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GhcSessionIO |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSessionIO = D1 ('MetaData "GhcSessionIO" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GhcSessionIO" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GhcSessionIO -> Rep GhcSessionIO x #

to :: Rep GhcSessionIO x -> GhcSessionIO #

Show GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionIO -> ShowS # show :: GhcSessionIO -> String # showList :: [GhcSessionIO] -> ShowS #
Eq GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionIO -> GhcSessionIO -> Bool # (/=) :: GhcSessionIO -> GhcSessionIO -> Bool #
Hashable GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionIO -> Int # hash :: GhcSessionIO -> Int #
type Rep GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSessionIO = D1 ('MetaData "GhcSessionIO" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GhcSessionIO" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionIO = IdeGhcSession

data GetClientSettings #

Get the client config stored in the ide state

Constructors

GetClientSettings |

#### Instances

Instances details

NFData GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetClientSettings -> () #
Generic GetClientSettings # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetClientSettings |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetClientSettings = D1 ('MetaData "GetClientSettings" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetClientSettings" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetClientSettings -> Rep GetClientSettings x #

to :: Rep GetClientSettings x -> GetClientSettings #

Show GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetClientSettings -> ShowS # show :: GetClientSettings -> String # showList :: [GetClientSettings] -> ShowS #
Eq GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetClientSettings -> GetClientSettings -> Bool # (/=) :: GetClientSettings -> GetClientSettings -> Bool #
Hashable GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetClientSettings -> Int # hash :: GetClientSettings -> Int #
type Rep GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetClientSettings = D1 ('MetaData "GetClientSettings" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetClientSettings" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetClientSettings = Hashed (Maybe Value)

newtype GhcSessionDeps #

Constructors

GhcSessionDeps_ |

Fields

- fullModSummary :: Bool

  Load full ModSummary values in the GHC session. Required for interactive evaluation, but leads to more cache invalidations

#### Instances

Instances details

NFData GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionDeps -> () #
Show GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionDeps -> ShowS # show :: GhcSessionDeps -> String # showList :: [GhcSessionDeps] -> ShowS #
Eq GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionDeps -> GhcSessionDeps -> Bool # (/=) :: GhcSessionDeps -> GhcSessionDeps -> Bool #
Hashable GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionDeps -> Int # hash :: GhcSessionDeps -> Int #
type RuleResult GhcSessionDeps # | A GHC session preloaded with all the dependencies This rule is also responsible for calling ReportImportCycles for the direct dependencies
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionDeps = HscEnvEq

pattern GhcSessionDeps :: GhcSessionDeps #

newtype GetModificationTime #

Constructors

GetModificationTime_ |

Fields

- missingFileDiagnostics :: Bool

  If false, missing file diagnostics are not reported

#### Instances

Instances details

NFData GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModificationTime -> () #
Generic GetModificationTime # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModificationTime |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModificationTime = D1 ('MetaData "GetModificationTime" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'True) (C1 ('MetaCons "GetModificationTime_" 'PrefixI 'True) (S1 ('MetaSel ('Just "missingFileDiagnostics") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: GetModificationTime -> Rep GetModificationTime x #

to :: Rep GetModificationTime x -> GetModificationTime #

Show GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModificationTime -> ShowS # show :: GetModificationTime -> String # showList :: [GetModificationTime] -> ShowS #
Eq GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModificationTime -> GetModificationTime -> Bool # (/=) :: GetModificationTime -> GetModificationTime -> Bool #
Hashable GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModificationTime -> Int # hash :: GetModificationTime -> Int #
type Rep GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModificationTime = D1 ('MetaData "GetModificationTime" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'True) (C1 ('MetaCons "GetModificationTime_" 'PrefixI 'True) (S1 ('MetaSel ('Just "missingFileDiagnostics") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
type RuleResult GetModificationTime # | Get the modification time of a file.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModificationTime = FileVersion

pattern GetModificationTime :: GetModificationTime #

data FileVersion #

Either the mtime from disk or an LSP version LSP versions always compare as greater than on disk versions

Constructors

ModificationTime !POSIXTime |
VFSVersion !Int32 |

#### Instances

Instances details

NFData FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: FileVersion -> () #
Generic FileVersion # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep FileVersion |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileVersion = D1 ('MetaData "FileVersion" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ModificationTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 POSIXTime)) :+: C1 ('MetaCons "VFSVersion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))

Methods

from :: FileVersion -> Rep FileVersion x #

to :: Rep FileVersion x -> FileVersion #

Show FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> FileVersion -> ShowS # show :: FileVersion -> String # showList :: [FileVersion] -> ShowS #
Eq FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: FileVersion -> FileVersion -> Bool # (/=) :: FileVersion -> FileVersion -> Bool #
Ord FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods compare :: FileVersion -> FileVersion -> Ordering # (<) :: FileVersion -> FileVersion -> Bool # (<=) :: FileVersion -> FileVersion -> Bool # (>) :: FileVersion -> FileVersion -> Bool # (>=) :: FileVersion -> FileVersion -> Bool # max :: FileVersion -> FileVersion -> FileVersion # min :: FileVersion -> FileVersion -> FileVersion #
type Rep FileVersion # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileVersion = D1 ('MetaData "FileVersion" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ModificationTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 POSIXTime)) :+: C1 ('MetaCons "VFSVersion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))

data GenerateCore #

Constructors

GenerateCore |

#### Instances

Instances details

NFData GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GenerateCore -> () #
Generic GenerateCore # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GenerateCore |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GenerateCore = D1 ('MetaData "GenerateCore" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GenerateCore" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GenerateCore -> Rep GenerateCore x #

to :: Rep GenerateCore x -> GenerateCore #

Show GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GenerateCore -> ShowS # show :: GenerateCore -> String # showList :: [GenerateCore] -> ShowS #
Eq GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GenerateCore -> GenerateCore -> Bool # (/=) :: GenerateCore -> GenerateCore -> Bool #
Hashable GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GenerateCore -> Int # hash :: GenerateCore -> Int #
type Rep GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GenerateCore = D1 ('MetaData "GenerateCore" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GenerateCore" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GenerateCore # | Convert to Core, requires TypeCheck*
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GenerateCore = ModGuts

data GetHieAst #

Constructors

GetHieAst |

#### Instances

Instances details

NFData GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetHieAst -> () #
Generic GetHieAst # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetHieAst |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetHieAst = D1 ('MetaData "GetHieAst" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetHieAst" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetHieAst -> Rep GetHieAst x #

to :: Rep GetHieAst x -> GetHieAst #

Show GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetHieAst -> ShowS # show :: GetHieAst -> String # showList :: [GetHieAst] -> ShowS #
Eq GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetHieAst -> GetHieAst -> Bool # (/=) :: GetHieAst -> GetHieAst -> Bool #
Hashable GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetHieAst -> Int # hash :: GetHieAst -> Int #
type Rep GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetHieAst = D1 ('MetaData "GetHieAst" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetHieAst" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetHieAst # | The uncompressed HieAST
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetHieAst = HieAstResult

data TypeCheck #

Constructors

TypeCheck |

#### Instances

Instances details

NFData TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: TypeCheck -> () #
Generic TypeCheck # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep TypeCheck |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep TypeCheck = D1 ('MetaData "TypeCheck" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "TypeCheck" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: TypeCheck -> Rep TypeCheck x #

to :: Rep TypeCheck x -> TypeCheck #

Show TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> TypeCheck -> ShowS # show :: TypeCheck -> String # showList :: [TypeCheck] -> ShowS #
Eq TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: TypeCheck -> TypeCheck -> Bool # (/=) :: TypeCheck -> TypeCheck -> Bool #
Hashable TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> TypeCheck -> Int # hash :: TypeCheck -> Int #
type Rep TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep TypeCheck = D1 ('MetaData "TypeCheck" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "TypeCheck" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult TypeCheck # | The type checked version of this file, requires TypeCheck+
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult TypeCheck = TcModuleResult

data IdeGhcSession #

Constructors

IdeGhcSession |

Fields

- loadSessionFun :: FilePath -> IO (IdeResult HscEnvEq, [FilePath])

  Returns the Ghc session and the cradle dependencies

- sessionVersion :: !Int

  Used as Shake key, versions must be unique and not reused

#### Instances

Instances details

NFData IdeGhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IdeGhcSession -> () #
Show IdeGhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IdeGhcSession -> ShowS # show :: IdeGhcSession -> String # showList :: [IdeGhcSession] -> ShowS #

data GhcSession #

Constructors

GhcSession |

#### Instances

Instances details

NFData GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSession -> () #
Generic GhcSession # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GhcSession |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSession = D1 ('MetaData "GhcSession" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GhcSession" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GhcSession -> Rep GhcSession x #

to :: Rep GhcSession x -> GhcSession #

Show GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSession -> ShowS # show :: GhcSession -> String # showList :: [GhcSession] -> ShowS #
Eq GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSession -> GhcSession -> Bool # (/=) :: GhcSession -> GhcSession -> Bool #
Hashable GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSession -> Int # hash :: GhcSession -> Int #
type Rep GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSession = D1 ('MetaData "GhcSession" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GhcSession" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GhcSession # | A GHC session that we reuse.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSession = HscEnvEq

data GetFileExists #

Constructors

GetFileExists |

#### Instances

Instances details

NFData GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetFileExists -> () #
Generic GetFileExists # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetFileExists |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileExists = D1 ('MetaData "GetFileExists" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetFileExists" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetFileExists -> Rep GetFileExists x #

to :: Rep GetFileExists x -> GetFileExists #

Show GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetFileExists -> ShowS # show :: GetFileExists -> String # showList :: [GetFileExists] -> ShowS #
Eq GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetFileExists -> GetFileExists -> Bool # (/=) :: GetFileExists -> GetFileExists -> Bool #
Hashable GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetFileExists -> Int # hash :: GetFileExists -> Int #
type Rep GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileExists = D1 ('MetaData "GetFileExists" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetFileExists" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetFileExists = Bool

newtype ImportMap #

Constructors

ImportMap |

Fields

- importMap :: Map ModuleName NormalizedFilePath

  Where are the modules imported by this file located?

#### Instances

Instances details

NFData ImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ImportMap -> () #
Show ImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ImportMap -> ShowS # show :: ImportMap -> String # showList :: [ImportMap] -> ShowS #

data GetLocatedImports #

Constructors

GetLocatedImports |

#### Instances

Instances details

NFData GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetLocatedImports -> () #
Generic GetLocatedImports # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetLocatedImports |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLocatedImports = D1 ('MetaData "GetLocatedImports" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetLocatedImports" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetLocatedImports -> Rep GetLocatedImports x #

to :: Rep GetLocatedImports x -> GetLocatedImports #

Show GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetLocatedImports -> ShowS # show :: GetLocatedImports -> String # showList :: [GetLocatedImports] -> ShowS #
Eq GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetLocatedImports -> GetLocatedImports -> Bool # (/=) :: GetLocatedImports -> GetLocatedImports -> Bool #
Hashable GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetLocatedImports -> Int # hash :: GetLocatedImports -> Int #
type Rep GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLocatedImports = D1 ('MetaData "GetLocatedImports" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetLocatedImports" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetLocatedImports # | Resolve the imports in a module to the file path of a module in the same package
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetLocatedImports = [(Located ModuleName, Maybe ArtifactsLocation)]

data GetKnownTargets #

Constructors

GetKnownTargets |

#### Instances

Instances details

NFData GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetKnownTargets -> () #
Generic GetKnownTargets # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetKnownTargets |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetKnownTargets = D1 ('MetaData "GetKnownTargets" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetKnownTargets" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetKnownTargets -> Rep GetKnownTargets x #

to :: Rep GetKnownTargets x -> GetKnownTargets #

Show GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetKnownTargets -> ShowS # show :: GetKnownTargets -> String # showList :: [GetKnownTargets] -> ShowS #
Eq GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetKnownTargets -> GetKnownTargets -> Bool # (/=) :: GetKnownTargets -> GetKnownTargets -> Bool #
Ord GetKnownTargets # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

compare :: GetKnownTargets -> GetKnownTargets -> Ordering #

(<) :: GetKnownTargets -> GetKnownTargets -> Bool #

(<=) :: GetKnownTargets -> GetKnownTargets -> Bool #

(>) :: GetKnownTargets -> GetKnownTargets -> Bool #

(>=) :: GetKnownTargets -> GetKnownTargets -> Bool #

max :: GetKnownTargets -> GetKnownTargets -> GetKnownTargets #

min :: GetKnownTargets -> GetKnownTargets -> GetKnownTargets #

Hashable GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetKnownTargets -> Int # hash :: GetKnownTargets -> Int #
type Rep GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetKnownTargets = D1 ('MetaData "GetKnownTargets" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetKnownTargets" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetKnownTargets = KnownTargets

data LinkableType #

Constructors

ObjectLinkable |
BCOLinkable |

#### Instances

Instances details

NFData LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: LinkableType -> () #
Generic LinkableType # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep LinkableType |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep LinkableType = D1 ('MetaData "LinkableType" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ObjectLinkable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCOLinkable" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: LinkableType -> Rep LinkableType x #

to :: Rep LinkableType x -> LinkableType #

Show LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> LinkableType -> ShowS # show :: LinkableType -> String # showList :: [LinkableType] -> ShowS #
Eq LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: LinkableType -> LinkableType -> Bool # (/=) :: LinkableType -> LinkableType -> Bool #
Ord LinkableType # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

compare :: LinkableType -> LinkableType -> Ordering #

(<) :: LinkableType -> LinkableType -> Bool #

(<=) :: LinkableType -> LinkableType -> Bool #

(>) :: LinkableType -> LinkableType -> Bool #

(>=) :: LinkableType -> LinkableType -> Bool #

max :: LinkableType -> LinkableType -> LinkableType #

min :: LinkableType -> LinkableType -> LinkableType #

Hashable LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> LinkableType -> Int # hash :: LinkableType -> Int #
type Rep LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep LinkableType = D1 ('MetaData "LinkableType" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ObjectLinkable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCOLinkable" 'PrefixI 'False) (U1 :: Type -> Type))

encodeLinkableType :: Maybe LinkableType -> ByteString #

Encode the linkable into an ordered bytestring. This is used to drive an ordered "newness" predicate in the `NeedsCompilation` build rule.

data GetParsedModuleWithComments #

Constructors

GetParsedModuleWithComments |

#### Instances

Instances details

NFData GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetParsedModuleWithComments -> () #
Generic GetParsedModuleWithComments # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetParsedModuleWithComments |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModuleWithComments = D1 ('MetaData "GetParsedModuleWithComments" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetParsedModuleWithComments" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetParsedModuleWithComments -> Rep GetParsedModuleWithComments x #

to :: Rep GetParsedModuleWithComments x -> GetParsedModuleWithComments #

Show GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetParsedModuleWithComments -> ShowS # show :: GetParsedModuleWithComments -> String # showList :: [GetParsedModuleWithComments] -> ShowS #
Eq GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetParsedModuleWithComments -> GetParsedModuleWithComments -> Bool # (/=) :: GetParsedModuleWithComments -> GetParsedModuleWithComments -> Bool #
Hashable GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetParsedModuleWithComments -> Int # hash :: GetParsedModuleWithComments -> Int #
type Rep GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModuleWithComments = D1 ('MetaData "GetParsedModuleWithComments" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetParsedModuleWithComments" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetParsedModuleWithComments # | The parse tree for the file using GetFileContents, all comments included using Opt_KeepRawTokenStream
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetParsedModuleWithComments = ParsedModule

data GetModuleGraph #

Constructors

GetModuleGraph |

#### Instances

Instances details

NFData GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModuleGraph -> () #
Generic GetModuleGraph # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModuleGraph |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModuleGraph = D1 ('MetaData "GetModuleGraph" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModuleGraph" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModuleGraph -> Rep GetModuleGraph x #

to :: Rep GetModuleGraph x -> GetModuleGraph #

Show GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModuleGraph -> ShowS # show :: GetModuleGraph -> String # showList :: [GetModuleGraph] -> ShowS #
Eq GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModuleGraph -> GetModuleGraph -> Bool # (/=) :: GetModuleGraph -> GetModuleGraph -> Bool #
Hashable GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModuleGraph -> Int # hash :: GetModuleGraph -> Int #
type Rep GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModuleGraph = D1 ('MetaData "GetModuleGraph" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModuleGraph" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModuleGraph = DependencyInformation

data GetLinkable #

Constructors

GetLinkable |

#### Instances

Instances details

NFData GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetLinkable -> () #
Generic GetLinkable # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetLinkable |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLinkable = D1 ('MetaData "GetLinkable" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetLinkable" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetLinkable -> Rep GetLinkable x #

to :: Rep GetLinkable x -> GetLinkable #

Show GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetLinkable -> ShowS # show :: GetLinkable -> String # showList :: [GetLinkable] -> ShowS #
Eq GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetLinkable -> GetLinkable -> Bool # (/=) :: GetLinkable -> GetLinkable -> Bool #
Hashable GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetLinkable -> Int # hash :: GetLinkable -> Int #
type Rep GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLinkable = D1 ('MetaData "GetLinkable" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetLinkable" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetLinkable = LinkableResult

data LinkableResult #

Constructors

LinkableResult |

Fields

- linkableHomeMod :: !HomeModInfo
- linkableHash :: !ByteString

  The hash of the core file

#### Instances

Instances details

NFData LinkableResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: LinkableResult -> () #
Show LinkableResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> LinkableResult -> ShowS # show :: LinkableResult -> String # showList :: [LinkableResult] -> ShowS #

data GetImportMap #

Constructors

GetImportMap |

#### Instances

Instances details

NFData GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetImportMap -> () #
Generic GetImportMap # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetImportMap |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetImportMap = D1 ('MetaData "GetImportMap" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetImportMap" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetImportMap -> Rep GetImportMap x #

to :: Rep GetImportMap x -> GetImportMap #

Show GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetImportMap -> ShowS # show :: GetImportMap -> String # showList :: [GetImportMap] -> ShowS #
Eq GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetImportMap -> GetImportMap -> Bool # (/=) :: GetImportMap -> GetImportMap -> Bool #
Hashable GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetImportMap -> Int # hash :: GetImportMap -> Int #
type Rep GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetImportMap = D1 ('MetaData "GetImportMap" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetImportMap" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetImportMap = ImportMap

data Splices #

Constructors

Splices |

Fields

- exprSplices :: [(LHsExpr GhcTc, LHsExpr GhcPs)]
- patSplices :: [(LHsExpr GhcTc, LPat GhcPs)]
- typeSplices :: [(LHsExpr GhcTc, LHsType GhcPs)]
- declSplices :: [(LHsExpr GhcTc, [LHsDecl GhcPs])]
- awSplices :: [(LHsExpr GhcTc, Serialized)]

#### Instances

Instances details

NFData Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: Splices -> () #
Monoid Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods mempty :: Splices # mappend :: Splices -> Splices -> Splices # mconcat :: [Splices] -> Splices #
Semigroup Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (<>) :: Splices -> Splices -> Splices # sconcat :: NonEmpty Splices -> Splices # stimes :: Integral b => b -> Splices -> Splices #

tmrModSummary :: TcModuleResult -> ModSummary #

data HiFileResult #

Constructors

HiFileResult |

Fields

- hirModSummary :: !ModSummary
- hirModIface :: !ModIface
- hirModDetails :: ModDetails

  Populated lazily

- hirIfaceFp :: !ByteString

  Fingerprint for the ModIface

- hirRuntimeModules :: !(ModuleEnv ByteString)

  same as tmrRuntimeModules

- hirCoreFp :: !(Maybe (CoreFile, ByteString))

  If we wrote a core file for this module, then its contents (lazily deserialised) along with its hash

#### Instances

Instances details

NFData HiFileResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HiFileResult -> () #
Show HiFileResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> HiFileResult -> ShowS # show :: HiFileResult -> String # showList :: [HiFileResult] -> ShowS #

hiFileFingerPrint :: HiFileResult -> ByteString #

mkHiFileResult :: ModSummary -> ModIface -> ModDetails -> ModuleEnv ByteString -> Maybe (CoreFile, ByteString) -> HiFileResult #

data HieAstResult #

Save the uncompressed AST here, we compress it just before writing to disk

Constructors

Typeable a => HAR |

Fields

- hieModule :: Module
- hieAst :: !(HieASTs a)
- refMap :: RefMap a

  Lazy because its value only depends on the hieAst, which is bundled in this type Lazyness can't cause leaks here because the lifetime of `refMap` will be the same as that of `hieAst`

- typeRefs :: Map Name [RealSrcSpan]

  type references in this file

- hieKind :: !(HieKind a)

  Is this hie file loaded from the disk, or freshly computed?

#### Instances

Instances details

NFData HieAstResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HieAstResult -> () #
Show HieAstResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> HieAstResult -> ShowS # show :: HieAstResult -> String # showList :: [HieAstResult] -> ShowS #

data HieKind a where #

Constructors

HieFromDisk :: !HieFile -> HieKind Int |
HieFresh :: HieKind Type |

#### Instances

Instances details

NFData (HieKind a) # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HieKind a -> () #

data GetBindings #

Constructors

GetBindings |

#### Instances

Instances details

NFData GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetBindings -> () #
Generic GetBindings # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetBindings |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetBindings = D1 ('MetaData "GetBindings" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetBindings" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetBindings -> Rep GetBindings x #

to :: Rep GetBindings x -> GetBindings #

Show GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetBindings -> ShowS # show :: GetBindings -> String # showList :: [GetBindings] -> ShowS #
Eq GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetBindings -> GetBindings -> Bool # (/=) :: GetBindings -> GetBindings -> Bool #
Hashable GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetBindings -> Int # hash :: GetBindings -> Int #
type Rep GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetBindings = D1 ('MetaData "GetBindings" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetBindings" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetBindings # | A IntervalMap telling us what is in scope at each point
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetBindings = Bindings

data DocAndTyThingMap #

Constructors

DKMap |

Fields

- getDocMap :: !DocMap
- getTyThingMap :: !TyThingMap

#### Instances

Instances details

NFData DocAndTyThingMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: DocAndTyThingMap -> () #
Show DocAndTyThingMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> DocAndTyThingMap -> ShowS # show :: DocAndTyThingMap -> String # showList :: [DocAndTyThingMap] -> ShowS #

data GetDocMap #

Constructors

GetDocMap |

#### Instances

Instances details

NFData GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetDocMap -> () #
Generic GetDocMap # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetDocMap |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetDocMap = D1 ('MetaData "GetDocMap" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetDocMap" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetDocMap -> Rep GetDocMap x #

to :: Rep GetDocMap x -> GetDocMap #

Show GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetDocMap -> ShowS # show :: GetDocMap -> String # showList :: [GetDocMap] -> ShowS #
Eq GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetDocMap -> GetDocMap -> Bool # (/=) :: GetDocMap -> GetDocMap -> Bool #
Hashable GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetDocMap -> Int # hash :: GetDocMap -> Int #
type Rep GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetDocMap = D1 ('MetaData "GetDocMap" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetDocMap" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetDocMap = DocAndTyThingMap

data ReportImportCycles #

Constructors

ReportImportCycles |

#### Instances

Instances details

NFData ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ReportImportCycles -> () #
Generic ReportImportCycles # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep ReportImportCycles |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep ReportImportCycles = D1 ('MetaData "ReportImportCycles" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ReportImportCycles" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ReportImportCycles -> Rep ReportImportCycles x #

to :: Rep ReportImportCycles x -> ReportImportCycles #

Show ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ReportImportCycles -> ShowS # show :: ReportImportCycles -> String # showList :: [ReportImportCycles] -> ShowS #
Eq ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: ReportImportCycles -> ReportImportCycles -> Bool # (/=) :: ReportImportCycles -> ReportImportCycles -> Bool #
Hashable ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> ReportImportCycles -> Int # hash :: ReportImportCycles -> Int #
type Rep ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep ReportImportCycles = D1 ('MetaData "ReportImportCycles" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "ReportImportCycles" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult ReportImportCycles # | This rule is used to report import cycles. It depends on GetModuleGraph. We cannot report the cycles directly from GetModuleGraph since we can only report diagnostics for the current file.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult ReportImportCycles = ()

data GetModIfaceFromDisk #

Constructors

GetModIfaceFromDisk |

#### Instances

Instances details

NFData GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIfaceFromDisk -> () #
Generic GetModIfaceFromDisk # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModIfaceFromDisk |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDisk = D1 ('MetaData "GetModIfaceFromDisk" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIfaceFromDisk" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModIfaceFromDisk -> Rep GetModIfaceFromDisk x #

to :: Rep GetModIfaceFromDisk x -> GetModIfaceFromDisk #

Show GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIfaceFromDisk -> ShowS # show :: GetModIfaceFromDisk -> String # showList :: [GetModIfaceFromDisk] -> ShowS #
Eq GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIfaceFromDisk -> GetModIfaceFromDisk -> Bool # (/=) :: GetModIfaceFromDisk -> GetModIfaceFromDisk -> Bool #
Hashable GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIfaceFromDisk -> Int # hash :: GetModIfaceFromDisk -> Int #
type Rep GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDisk = D1 ('MetaData "GetModIfaceFromDisk" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIfaceFromDisk" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIfaceFromDisk # | Read the module interface file from disk. Throws an error for VFS files. This is an internal rule, use `GetModIface` instead.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIfaceFromDisk = HiFileResult

data GetModIfaceFromDiskAndIndex #

Constructors

GetModIfaceFromDiskAndIndex |

#### Instances

Instances details

NFData GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIfaceFromDiskAndIndex -> () #
Generic GetModIfaceFromDiskAndIndex # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModIfaceFromDiskAndIndex |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDiskAndIndex = D1 ('MetaData "GetModIfaceFromDiskAndIndex" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIfaceFromDiskAndIndex" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModIfaceFromDiskAndIndex -> Rep GetModIfaceFromDiskAndIndex x #

to :: Rep GetModIfaceFromDiskAndIndex x -> GetModIfaceFromDiskAndIndex #

Show GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIfaceFromDiskAndIndex -> ShowS # show :: GetModIfaceFromDiskAndIndex -> String # showList :: [GetModIfaceFromDiskAndIndex] -> ShowS #
Eq GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIfaceFromDiskAndIndex -> GetModIfaceFromDiskAndIndex -> Bool # (/=) :: GetModIfaceFromDiskAndIndex -> GetModIfaceFromDiskAndIndex -> Bool #
Hashable GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIfaceFromDiskAndIndex -> Int # hash :: GetModIfaceFromDiskAndIndex -> Int #
type Rep GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDiskAndIndex = D1 ('MetaData "GetModIfaceFromDiskAndIndex" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIfaceFromDiskAndIndex" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIfaceFromDiskAndIndex # | GetModIfaceFromDisk and index the `.hie` file into the database. This is an internal rule, use `GetModIface` instead.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIfaceFromDiskAndIndex = HiFileResult

data GetModIface #

Constructors

GetModIface |

#### Instances

Instances details

NFData GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIface -> () #
Generic GetModIface # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModIface |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIface = D1 ('MetaData "GetModIface" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIface" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModIface -> Rep GetModIface x #

to :: Rep GetModIface x -> GetModIface #

Show GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIface -> ShowS # show :: GetModIface -> String # showList :: [GetModIface] -> ShowS #
Eq GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIface -> GetModIface -> Bool # (/=) :: GetModIface -> GetModIface -> Bool #
Hashable GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIface -> Int # hash :: GetModIface -> Int #
type Rep GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIface = D1 ('MetaData "GetModIface" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModIface" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIface # | Get a module interface details, either from an interface file or a typechecked module
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIface = HiFileResult

data GetFileContents #

Constructors

GetFileContents |

#### Instances

Instances details

NFData GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetFileContents -> () #
Generic GetFileContents # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetFileContents |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileContents = D1 ('MetaData "GetFileContents" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetFileContents" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetFileContents -> Rep GetFileContents x #

to :: Rep GetFileContents x -> GetFileContents #

Show GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetFileContents -> ShowS # show :: GetFileContents -> String # showList :: [GetFileContents] -> ShowS #
Eq GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetFileContents -> GetFileContents -> Bool # (/=) :: GetFileContents -> GetFileContents -> Bool #
Hashable GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetFileContents -> Int # hash :: GetFileContents -> Int #
type Rep GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileContents = D1 ('MetaData "GetFileContents" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetFileContents" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetFileContents # | Get the contents of a file, either dirty (if the buffer is modified) or Nothing to mean use from disk.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetFileContents = (FileVersion, Maybe Text)

data AddWatchedFile #

Constructors

AddWatchedFile |

#### Instances

Instances details

NFData AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: AddWatchedFile -> () #
Generic AddWatchedFile # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep AddWatchedFile |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep AddWatchedFile = D1 ('MetaData "AddWatchedFile" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "AddWatchedFile" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: AddWatchedFile -> Rep AddWatchedFile x #

to :: Rep AddWatchedFile x -> AddWatchedFile #

Show AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> AddWatchedFile -> ShowS # show :: AddWatchedFile -> String # showList :: [AddWatchedFile] -> ShowS #
Eq AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: AddWatchedFile -> AddWatchedFile -> Bool # (/=) :: AddWatchedFile -> AddWatchedFile -> Bool #
Hashable AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> AddWatchedFile -> Int # hash :: AddWatchedFile -> Int #
type Rep AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep AddWatchedFile = D1 ('MetaData "AddWatchedFile" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "AddWatchedFile" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult AddWatchedFile = Bool

vfsVersion :: FileVersion -> Maybe Int32 #

data IsFileOfInterestResult #

Constructors

NotFOI |
IsFOI FileOfInterestStatus |

#### Instances

Instances details

NFData IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IsFileOfInterestResult -> () #
Generic IsFileOfInterestResult # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep IsFileOfInterestResult |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep IsFileOfInterestResult = D1 ('MetaData "IsFileOfInterestResult" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "NotFOI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsFOI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileOfInterestStatus)))

Methods

from :: IsFileOfInterestResult -> Rep IsFileOfInterestResult x #

to :: Rep IsFileOfInterestResult x -> IsFileOfInterestResult #

Show IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IsFileOfInterestResult -> ShowS # show :: IsFileOfInterestResult -> String # showList :: [IsFileOfInterestResult] -> ShowS #
Eq IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: IsFileOfInterestResult -> IsFileOfInterestResult -> Bool # (/=) :: IsFileOfInterestResult -> IsFileOfInterestResult -> Bool #
Hashable IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> IsFileOfInterestResult -> Int # hash :: IsFileOfInterestResult -> Int #
type Rep IsFileOfInterestResult # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep IsFileOfInterestResult = D1 ('MetaData "IsFileOfInterestResult" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "NotFOI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsFOI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileOfInterestStatus)))

data IsFileOfInterest #

Constructors

IsFileOfInterest |

#### Instances

Instances details

NFData IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IsFileOfInterest -> () #
Generic IsFileOfInterest # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep IsFileOfInterest |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep IsFileOfInterest = D1 ('MetaData "IsFileOfInterest" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "IsFileOfInterest" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: IsFileOfInterest -> Rep IsFileOfInterest x #

to :: Rep IsFileOfInterest x -> IsFileOfInterest #

Show IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IsFileOfInterest -> ShowS # show :: IsFileOfInterest -> String # showList :: [IsFileOfInterest] -> ShowS #
Eq IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: IsFileOfInterest -> IsFileOfInterest -> Bool # (/=) :: IsFileOfInterest -> IsFileOfInterest -> Bool #
Hashable IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> IsFileOfInterest -> Int # hash :: IsFileOfInterest -> Int #
type Rep IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep IsFileOfInterest = D1 ('MetaData "IsFileOfInterest" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "IsFileOfInterest" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult IsFileOfInterest = IsFileOfInterestResult

data ModSummaryResult #

Constructors

ModSummaryResult |

Fields

- msrModSummary :: !ModSummary
- msrImports :: [LImportDecl GhcPs]
- msrFingerprint :: !Fingerprint
- msrHscEnv :: !HscEnv

  HscEnv for this particular ModSummary. Contains initialised plugins, parsed options, etc...

  Implicit assumption: DynFlags in `msrModSummary` are the same as the DynFlags in `msrHscEnv`.

#### Instances

Instances details

NFData ModSummaryResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ModSummaryResult -> () #
Show ModSummaryResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ModSummaryResult -> ShowS # show :: ModSummaryResult -> String # showList :: [ModSummaryResult] -> ShowS #

data GetModSummary #

Constructors

GetModSummary |

#### Instances

Instances details

NFData GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModSummary -> () #
Generic GetModSummary # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModSummary |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummary = D1 ('MetaData "GetModSummary" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModSummary" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModSummary -> Rep GetModSummary x #

to :: Rep GetModSummary x -> GetModSummary #

Show GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModSummary -> ShowS # show :: GetModSummary -> String # showList :: [GetModSummary] -> ShowS #
Eq GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModSummary -> GetModSummary -> Bool # (/=) :: GetModSummary -> GetModSummary -> Bool #
Hashable GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModSummary -> Int # hash :: GetModSummary -> Int #
type Rep GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummary = D1 ('MetaData "GetModSummary" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModSummary" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModSummary # | Generate a ModSummary that has enough information to be used to get .hi and .hie files. without needing to parse the entire source
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModSummary = ModSummaryResult

data GetModSummaryWithoutTimestamps #

Constructors

GetModSummaryWithoutTimestamps |

#### Instances

Instances details

NFData GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModSummaryWithoutTimestamps -> () #
Generic GetModSummaryWithoutTimestamps # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModSummaryWithoutTimestamps |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummaryWithoutTimestamps = D1 ('MetaData "GetModSummaryWithoutTimestamps" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModSummaryWithoutTimestamps" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: GetModSummaryWithoutTimestamps -> Rep GetModSummaryWithoutTimestamps x #

to :: Rep GetModSummaryWithoutTimestamps x -> GetModSummaryWithoutTimestamps #

Show GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModSummaryWithoutTimestamps -> ShowS # show :: GetModSummaryWithoutTimestamps -> String # showList :: [GetModSummaryWithoutTimestamps] -> ShowS #
Eq GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModSummaryWithoutTimestamps -> GetModSummaryWithoutTimestamps -> Bool # (/=) :: GetModSummaryWithoutTimestamps -> GetModSummaryWithoutTimestamps -> Bool #
Hashable GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModSummaryWithoutTimestamps -> Int # hash :: GetModSummaryWithoutTimestamps -> Int #
type Rep GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummaryWithoutTimestamps = D1 ('MetaData "GetModSummaryWithoutTimestamps" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "GetModSummaryWithoutTimestamps" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModSummaryWithoutTimestamps # | Generate a ModSummary with the timestamps and preprocessed content elided, for more successful early cutoff
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModSummaryWithoutTimestamps = ModSummaryResult

data NeedsCompilation #

Constructors

NeedsCompilation |

#### Instances

Instances details

NFData NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: NeedsCompilation -> () #
Generic NeedsCompilation # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep NeedsCompilation |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep NeedsCompilation = D1 ('MetaData "NeedsCompilation" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "NeedsCompilation" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: NeedsCompilation -> Rep NeedsCompilation x #

to :: Rep NeedsCompilation x -> NeedsCompilation #

Show NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> NeedsCompilation -> ShowS # show :: NeedsCompilation -> String # showList :: [NeedsCompilation] -> ShowS #
Eq NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: NeedsCompilation -> NeedsCompilation -> Bool # (/=) :: NeedsCompilation -> NeedsCompilation -> Bool #
Hashable NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> NeedsCompilation -> Int # hash :: NeedsCompilation -> Int #
type Rep NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep NeedsCompilation = D1 ('MetaData "NeedsCompilation" "Development.IDE.Core.RuleTypes" "ghcide-2.9.0.0-1G3u1vh8JKWDpMQ8kfXrG1" 'False) (C1 ('MetaCons "NeedsCompilation" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult NeedsCompilation # | Does this module need to be compiled?
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult NeedsCompilation = Maybe LinkableType

awSplicesL :: Lens' Splices [(LHsExpr GhcTc, Serialized)] #

declSplicesL :: Lens' Splices [(LHsExpr GhcTc, [LHsDecl GhcPs])] #

exprSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsExpr GhcPs)] #

patSplicesL :: Lens' Splices [(LHsExpr GhcTc, LPat GhcPs)] #

typeSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsType GhcPs)] #