ghcide-2.9.0.0: The core of an IDE
Safe HaskellNone
LanguageGHC2021

Development.IDE.Types.HscEnvEq

Synopsis

Documentation

data HscEnvEq #

An HscEnv with equality. Two values are considered equal if they are created with the same call to newHscEnvEq or updateHscEnvEq.

Instances

Instances details
NFData HscEnvEq # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Methods

rnf :: HscEnvEq -> () #

Show HscEnvEq # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Eq HscEnvEq # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Hashable HscEnvEq # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Methods

hashWithSalt :: Int -> HscEnvEq -> Int #

hash :: HscEnvEq -> Int #

hscEnvWithImportPaths :: HscEnvEq -> HscEnv #

Unwrap the HscEnv with the original import paths. Used only for locating imports

envImportPaths :: HscEnvEq -> Maybe (Set FilePath) #

If Just, import dirs originally configured in this env If Nothing, the env import dirs are unaltered

envVisibleModuleNames :: HscEnvEq -> IO (Maybe [ModuleName]) #

listVisibleModuleNames is a pure function, but it could panic due to a ghc bug: https://github.com/haskell/haskell-language-server/issues/1365 So it's wrapped in IO here for error handling If Nothing, listVisibleModuleNames panic

deps :: HscEnvEq -> [(UnitId, DynFlags)] #

In memory components for this HscEnv This is only used at the moment for the import dirs in the DynFlags