ghcide-2.9.0.0: The core of an IDE
Safe HaskellSafe-Inferred
LanguageGHC2021

Development.IDE.Types.HscEnvEq

Synopsis

Documentation

data HscEnvEq Source #

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

Instances

Instances details
Show HscEnvEq Source # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

NFData HscEnvEq Source # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Methods

rnf :: HscEnvEq -> () #

Eq HscEnvEq Source # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Hashable HscEnvEq Source # 
Instance details

Defined in Development.IDE.Types.HscEnvEq

Methods

hashWithSalt :: Int -> HscEnvEq -> Int #

hash :: HscEnvEq -> Int #

hscEnvWithImportPaths :: HscEnvEq -> HscEnv Source #

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

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

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

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

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

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