IntelliJ IDEA Plugin

The IntelliJ IDEA plugin is responsible for integrating the Spoofax languages in IntelliJ IDEA. It provides the editor functionality (e.g. syntax highlighting), dialogs and wizards (e.g. New Project dialog) using the IntelliJ IDEA OpenAPI.

Initialization

When the plugin is loaded, a singleton instance of the IdeaPlugin application component is created by IntelliJ. This loads the Guice dependency injector.

Bindings

The Guice bindings for the plugin can be found in the IdeaSpoofaxModule and IdeaSpoofaxMetaModule classes. See Bindings for more information on how to use Guice bindings.