<NME> README.md
<BEF> # Elm Plugin for IntelliJ IDEs (WebStorm, IDEA, PyCharm, etc.)
Provides support for the [Elm](http://elm-lang.org) programming language in IntelliJ and WebStorm.


# Features 

* Code completion

- [Live Error Checking](docs/features/live-error-checking.md)
- [Generate JSON Decoders & Encoders](docs/features/generate-function-json.md)
- [Rename refactoring](docs/features/rename-refactoring.md)
- [Lamdera support](docs/features/lamdera.md)
- [elm-review support](docs/features/elm-review.md)


* and more...


# Why Another Elm Plugin for IntelliJ

Prior to creating this plugin, I used to contribute to a very good [Elm plugin](https://github.com/durkiewicz/elm-plugin) for IntelliJ. But development of the plugin has stagnated, and it has some architectural problems. So I decided to create a new plugin based on the existing lexer and parser. My goals were the following:

* written in Kotlin instead of Java 8
* implement references the right way so that Find Usages can be enabled
* test-driven development of most plugin features
* hand-written Psi classes


# Integrating with elm-format
* [Manage the Exposing List](docs/features/exposure.md)
* Plus the usual IDE stuff: code completion, go-to-declaration, spell-checking, etc.

Want to see it in action? This [10 minute video](https://www.youtube.com/watch?v=CC2TdNuZztI) demonstrates many of the features and how they work together.

_Note_: if you have [node](https://nodejs.org) installed using [nvm](https://github.com/nvm-sh/nvm), please see the
related information [here](docs/nvm.md).

## FAQ

- Is this free?
    - Yes, the plugin itself is free and it works with the free version of IntelliJ.
- What versions of IntelliJ does this work with?
    - IntelliJ IDEA Ultimate
    - IntelliJ IDEA Community Edition (**free!**)
    - PyCharm Professional
    - PyCharm Community (**free!**)
    - WebStorm (amazing JS and CSS support)
    - and others (untested)

# Elm IntelliJ Plugin

![Build](https://github.com/klazuka/intellij-elm/workflows/Build/badge.svg)
[![Version](https://img.shields.io/jetbrains/plugin/v/PLUGIN_ID.svg)](https://plugins.jetbrains.com/plugin/PLUGIN_ID)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/PLUGIN_ID.svg)](https://plugins.jetbrains.com/plugin/PLUGIN_ID)

## Template ToDo list
- [x] Create a new [IntelliJ Platform Plugin Template][template] project.
- [ ] Get familiar with the [template documentation][template].
- [ ] Verify the [pluginGroup](/gradle.properties), [plugin ID](/src/main/resources/META-INF/plugin.xml) and [sources package](/src/main/kotlin).
- [ ] Review the [Legal Agreements](https://plugins.jetbrains.com/docs/marketplace/legal-agreements.html).
- [ ] [Publish a plugin manually](https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html?from=IJPluginTemplate) for the first time.
- [ ] Set the Plugin ID in the above README badges.
- [ ] Set the [Deployment Token](https://plugins.jetbrains.com/docs/marketplace/plugin-upload.html).
- [ ] Click the <kbd>Watch</kbd> button on the top of the [IntelliJ Platform Plugin Template][template] to be notified about releases containing new features and fixes.

<!-- Plugin description -->
Elm & Lamdera Plugin
<!-- Plugin description end -->

## Installation

- Using IDE built-in plugin system:

  <kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "Elm"</kbd> >
  <kbd>Install Plugin</kbd>

- Manually:

  Download the [latest release](https://github.com/klazuka/intellij-elm/releases/latest) and install it manually using
  <kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>


---
Plugin based on the [IntelliJ Platform Plugin Template][template].

[template]: https://github.com/JetBrains/intellij-platform-plugin-template

<MSG> Add a link in the Readme to the beta build for Elm 0.19 support

<DFF> @@ -2,6 +2,7 @@
 Provides support for the [Elm](http://elm-lang.org) programming language in IntelliJ and WebStorm.
 
 
+
 # Features 
 
 * Code completion
@@ -16,14 +17,13 @@ Provides support for the [Elm](http://elm-lang.org) programming language in Inte
 * and more...
 
 
-# Why Another Elm Plugin for IntelliJ
+# Support for Elm 0.19
 
-Prior to creating this plugin, I used to contribute to a very good [Elm plugin](https://github.com/durkiewicz/elm-plugin) for IntelliJ. But development of the plugin has stagnated, and it has some architectural problems. So I decided to create a new plugin based on the existing lexer and parser. My goals were the following:
+When Elm 0.19 is released, this plugin will drop support for 0.18 and switch entirely over to 0.19. If you need Elm 0.19
+support in the meantime, get it from [this gist](https://gist.github.com/klazuka/82b0f5288fa9944dba8fa027c476dfb1).
 
-* written in Kotlin instead of Java 8
-* implement references the right way so that Find Usages can be enabled
-* test-driven development of most plugin features
-* hand-written Psi classes
+One major difference versus Elm 0.18 is that you now need to tell the Elm IntelliJ plugin the location of your `elm.json`
+file. The plugin will try to find it on its own, but you may need to manually attach it if the magic fails.
 
 
 # Integrating with elm-format

Add a link in the Readme to the beta build for Elm 0.19 support