hsdev-0.3.1.3: Haskell development library

Safe HaskellNone
LanguageHaskell98

HsDev.Inspect

Synopsis

Documentation

preload :: (MonadIO m, MonadCatch m) => Text -> [(String, String)] -> [String] -> Maybe Text -> InspectM ModuleLocation ModuleTag m Preloaded Source #

Preload module - load head and imports to get actual extensions and dependencies

analyzeResolve :: AnalyzeEnv -> Module -> Module Source #

Resolve module importsexportsscope

analyzePreloaded :: AnalyzeEnv -> Preloaded -> Either String Module Source #

Inspect preloaded module

inspectDocs :: [String] -> Module -> GhcM Module Source #

Extract file docs and set them to module declarations

inspectDocsGhc :: [String] -> Module -> GhcM Module Source #

Like inspectDocs, but in Ghc monad

inspectContents :: Text -> [(String, String)] -> [String] -> Text -> IO InspectedModule Source #

Inspect contents

sourceInspection :: Path -> Maybe Text -> [String] -> IO Inspection Source #

Source inspection data, differs whether there are contents provided

fileInspection :: Path -> [String] -> IO Inspection Source #

File inspection data

fileContentsInspection :: [String] -> IO Inspection Source #

File contents inspection data

fileContentsInspection_ :: [String] -> POSIXTime -> Inspection Source #

File contents inspection data

installedInspection :: [String] -> IO Inspection Source #

Installed module inspection data, just opts

moduleInspection :: ModuleLocation -> [String] -> IO Inspection Source #

Inspection by module location

projectDirs :: Project -> IO [Extensions Path] Source #

Enumerate project dirs

projectSources :: Project -> IO [Extensions Path] Source #

Enumerate project source files

getDefines :: IO [(String, String)] Source #

Get actual defines