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

Development.IDE.GHC.Compat.Plugins

Description

Plugin Compat utils.

Synopsis

Plugin Compat Types, and initialisation

data Plugin #

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 reason you should base all your plugin definitions on this default value.

data PluginWithArgs #

Constructors

PluginWithArgs 

Fields

initPlugins :: HscEnv -> ModSummary -> IO (ModSummary, HscEnv) Source #

Plugins aren't stored in ModSummary anymore since GHC 9.2, but this function still returns it for compatibility with 8.10

Static plugins

data StaticPlugin #

A static plugin with its arguments. For registering compiled-in plugins through the GHC API.

Constructors

StaticPlugin 

Fields

Plugin messages

data PsMessages #

Errors and warnings produced by the parser