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)] #