Home

Awesome

Elm Plugin for JetBrains IDEs

Build Version Downloads

(build is failing, but 98.5% tests pass!)

<!-- Plugin description -->

Provides support for the Elm programming language.

<!-- Plugin description end -->

Should work on most, if not all, IntelliJ Platform IDEs: IDEA (Community and Ultimate), WebStorm, PyCharm, RubyMine and more. If not please raise an issue.

Install

You may want to have some CLI tools --elm (the Elm compiler), elm-test, elm-format, elm-review and lamdera-- installed for certain features of this plugin to work.

Install the first three with:

sudo npm install -g elm elm-test elm-format elm-review

NOTE: if you have node installed using nvm, make sure to read our NVM setup guide.

To install Lamdera follow their instructions. Unlike this plugin and IntelliJ IDEA Community Edition, Lamdera is not open source software. By installing Lamdera you trust the vendor, as their software is only shipped as binary.

To install the plugin itself first make sure to uninstall all other Elm plugins you may have installed (this requires a restart of the IDE). Some have reported that having two Elm plugins installed results in the IDE not starting but showing a seemingly unrelated error (if you have this problem, there are ways to fix it).

From within a JetBrains IDE, go to Settings -> Plugins -> Marketplace and search for "Elm". After installing the plugin, restart the IDE and then open your existing Elm project or create a new project.

Alternatively you can install it manually by downloading a release (or downloading the source and building it yourself) and installing it with Settings -> Plugins -> ⚙️ (gear icon) -> Install plugin from disk...

Once the plugin is installed it is advised to double check all CLI tools are found by going to Settings -> Languages & Frameworks -> Elm and see the CLI tools.

Features

Want to see it in action? This 10 minute video demonstrates many of the features and how they work together.

Template ToDo list

License

MIT licensed.

Contributing

Yes, please! See our guide on this topic.