Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

eddy: autocorrect for java

eddy is a plugin for the IntelliJ Java IDE that translates pseudocode and broken Java into correct code as you type, making its best effort to understand what you meant to write. eddy is open source, with a BSD 2-clause license.


To install eddy from within IntelliJ, go to "Preferences / Plugins" and click "Browse Repositories". You can search for "eddy" or select it from the list. For more details, see

Developer setup

Although the eddy plugin is compatible with IntelliJ 13 and up, including Android Studio, we recommend developing eddy using IntelliJ 14 or higher. These instructions follow IntelliJ's plugin guide.

  1. Download IntelliJ.

  2. Get IntelliJ sources and build IntelliJ using IntelliJ, but watch out for:

    • On modern MacOS, you will have to install JDK1.6. Once you have installed this, Java 1.6 should be in /System/Library/Java/JavaVirtualMachines. If it isn't, go to, search for Java, and install the Java for OS X 2013-005 package, which ought to work.
    • You do not have to copy lib/tools.jar anywhere. Ignore this step.
    • You have to build IntelliJ, but we will never actually use the version of IntelliJ you built.
  3. Configure an IntelliJ IDEA SDK, but watch out for:

    • You must use the installation directory of the downloaded, not the built version of IntelliJ (typically, /Applications/IntelliJ IDEA/Content), which fortunately should be selected by default.
    • You must use JDK 1.6 (you have named this IDEA jdk earlier) as the internal Java platform.
    • Make sure you build IntelliJ first (see 2.) before doing this.
  4. Clone eddy and open it in IntelliJ.

  5. To see debug output using the Logger class used in the eddy plugin, make sure you see the IDEA Log in the output, and set the debug level to "all".

Modifying the grammar

eddy includes a parser generator called ambiguity which turns eddy's grammar specification eddy.gram into Java code. Currently, whenever eddy.gram is changed, ambiguity must be invoked outside of IntelliJ by running make in the toplevel eddy directory. This should be improved in future.


We welcome contributions to eddy! If you would like to contribute, it is as easy as forking the repository on GitHub, making your changes, and issuing a pull request. If you have any questions, don't hesitate to ask on the mailing list:


eddy - autocorrect for java







No packages published