| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Development.IDE.GHC.Compat.Plugins
Contents
Description
Plugin Compat utils.
Synopsis
- data Plugin = Plugin {
- installCoreToDos :: CorePlugin
 - tcPlugin :: TcPlugin
 - holeFitPlugin :: HoleFitPlugin
 - dynflagsPlugin :: [CommandLineOption] -> DynFlags -> IO DynFlags
 - pluginRecompile :: [CommandLineOption] -> IO PluginRecompile
 - parsedResultAction :: [CommandLineOption] -> ModSummary -> HsParsedModule -> Hsc HsParsedModule
 - renamedResultAction :: [CommandLineOption] -> TcGblEnv -> HsGroup GhcRn -> TcM (TcGblEnv, HsGroup GhcRn)
 - typeCheckResultAction :: [CommandLineOption] -> ModSummary -> TcGblEnv -> TcM TcGblEnv
 - spliceRunAction :: [CommandLineOption] -> LHsExpr GhcTc -> TcM (LHsExpr GhcTc)
 - interfaceLoadAction :: forall lcl. [CommandLineOption] -> ModIface -> IfM lcl ModIface
 
 - defaultPlugin :: Plugin
 - data PluginWithArgs = PluginWithArgs {}
 - applyPluginsParsedResultAction :: HscEnv -> DynFlags -> ModSummary -> ApiAnns -> ParsedSource -> IO ParsedSource
 - initializePlugins :: HscEnv -> IO HscEnv
 - data StaticPlugin = StaticPlugin {}
 - hsc_static_plugins :: HscEnv -> [StaticPlugin]
 
Documentation
Plugin is the compiler plugin data type. Try to avoid
 constructing one of these directly, and just modify some fields of
 defaultPlugin instead: this is to try and preserve source-code
 compatibility when we add fields to this.
Nonetheless, this API is preliminary and highly likely to change in the future.
Constructors
| Plugin | |
Fields 
  | |
defaultPlugin :: Plugin #
Default plugin: does nothing at all, except for marking that safe
 inference has failed unless -fplugin-trustworthy is passed. For
 compatibility reaso you should base all your plugin definitions on this
 default value.
data PluginWithArgs #
Constructors
| PluginWithArgs | |
Fields 
  | |
applyPluginsParsedResultAction :: HscEnv -> DynFlags -> ModSummary -> ApiAnns -> ParsedSource -> IO ParsedSource Source #
Static plugins
data StaticPlugin #
A static plugin with its arguments. For registering compiled-in plugins through the GHC API.
Constructors
| StaticPlugin | |
Fields 
  | |
hsc_static_plugins :: HscEnv -> [StaticPlugin] Source #