hsdev-0.2.5.1: Haskell development library

Safe HaskellNone
LanguageHaskell98

HsDev.Symbols

Contents

Synopsis

Information

export :: Export -> Text Source #

Get name of export

passThingSpec :: Text -> ThingPart -> Bool Source #

Does name pass thing spec

passImportSpec :: Declaration -> ImportSpec -> Bool Source #

Does declaration pass import-list spec

imported :: Declaration -> ImportList -> Bool Source #

Check whether declaration passes import list

exported :: Declaration -> Export -> Bool Source #

Check whether declaration passes export

importNames :: Import -> [Text] Source #

Get import module names - full and synonym

import_ :: Text -> Import Source #

Simple import

moduleLocals :: Module -> Module Source #

Bring locals to top

setDefinedIn :: Module -> Module Source #

Set all declaration definedIn to this module

dropExternals :: Module -> Module Source #

Drop all declarations, that not defined in this module

clearDefinedIn :: Module -> Module Source #

Clear definedIn information

moduleLocalDeclarations :: Module -> [Declaration] Source #

Get declarations with locals

moduleModuleDeclarations :: Module -> [ModuleDeclaration] Source #

Get list of declarations as ModuleDeclaration

scopes :: Declaration -> [Maybe Text] Source #

Get scopes of Declaration, where Nothing is global scope

mergeExported :: [ModuleDeclaration] -> [ExportedDeclaration] Source #

Merge ModuleDeclaration into ExportedDeclaration

Functions

importQualifier :: Maybe Text -> Import -> Bool Source #

Imported module can be accessed via qualifier

Utility

locateProject :: FilePath -> IO (Maybe Project) Source #

Find project file is related to

searchProject :: FilePath -> IO (Maybe Project) Source #

Search project up

locateSourceDir :: FilePath -> IO (Maybe (Extensions FilePath)) Source #

Locate source dir of file

standaloneInfo :: [PackageConfig] -> Module -> Info Source #

Make Info for standalone Module

moduleOpts :: [PackageConfig] -> Module -> [String] Source #

Options for GHC of module and project

Modifiers

addDeclaration :: Declaration -> Module -> Module Source #

Add declaration to module

Other

unalias :: Module -> Text -> [Text] Source #

Unalias import name

Tags

setTag :: Ord t => t -> Inspected i t a -> Inspected i t a Source #

Set tag to Inspected

hasTag :: Ord t => t -> Inspected i t a -> Bool Source #

Check whether Inspected has tag

removeTag :: Ord t => t -> Inspected i t a -> Inspected i t a Source #

Drop tag from Inspected

dropTags :: Inspected i t a -> Inspected i t a Source #

Drop all tags

Reexportss