Skip to content

Commit f9fa7e2

Browse files
authored
Merge pull request #31 from elm-tooling/develop
Release 5.1.0
2 parents 85d9433 + 2f980bd commit f9fa7e2

File tree

20 files changed

+169
-70
lines changed

20 files changed

+169
-70
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ name: Build
1616
on:
1717
# Trigger the workflow on pushes to only the 'main' branch (this avoids duplicate checks being run e.g. for dependabot pull requests)
1818
push:
19-
branches: [main]
19+
branches: [main, develop]
2020
# Trigger the workflow on any pull request
2121
pull_request:
2222

.idea/dictionaries/project.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,20 @@
33
# Changelog for et-intellij-elm
44

55
## [Unreleased]
6-
* Moved the plugin to [elm-tooling/intellij](https://github.com/elm-tooling/intellij-elm)
6+
7+
8+
## [5.1.0] - 2025-08-05
9+
* Moved the plugin to [elm-tooling/intellij](https://github.com/elm-tooling/intellij-elm) (@lydell)
710
* Fix latest version not working on newer IntelliJ versions
8-
* Upgraded some dependencies
11+
* Fixed issue with structure browser not working (@dillonkearns)
12+
* Upgraded colormath dependencies (@ahankinson, @andipabst)
13+
* Fixed issue with syntax highlighting in let statements (@ilsasdo)
14+
* Improved syntax highlighting (@ilsado)
15+
* Fixes for compiler and review panels (@andipabst)
16+
* All tests now run and pass (@ahankinson, @andipabst)
17+
* Fixed test runs on non-English locales (@andipabst)
18+
* Use non-deprecated DelayedDocumentWatcher (@andipabst)
19+
920

1021
## [5.0.1] - 2022-04-23
1122
* Fix parse error when pattern matching in function-argument (issue #742)

README.md

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,32 @@ Elm Plugin for JetBrains IDEs
22
=============================
33

44
<!-- Plugin description -->
5-
Provides support for the Elm programming language.
5+
Provides support for the [Elm programming language](https://elm-lang.org). This plugin is developed
6+
by the [Elm Tooling community](https://github.com/elm-tooling/intellij-elm/).
7+
8+
Features:
9+
10+
- Code completion
11+
- Go to declaration
12+
- Go to symbol
13+
- Find usages
14+
- Type Inference and Type Checking
15+
- Rename refactoring
16+
- Introduce "variable" refactoring (let/in)
17+
- Generate JSON encoders/decoders
18+
- Generate type annotation for un-annotated function
19+
- Graphical UI for running elm-test
20+
- Re-format code using elm-format
21+
- Detect unused code
22+
- Detect and remove unused imports
23+
- 'Add Import' quick fix for unresolved references
24+
- Code folding
25+
- Structure view
26+
- Syntax highlighting
27+
- WebGL/GLSL support
28+
- Spell checking
29+
- Lamdera platform support
30+
631
<!-- Plugin description end -->
732

833
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.
@@ -15,33 +40,29 @@ The original repo was [klazuka/intellij-elm](https://github.com/klazuka/intellij
1540

1641
## Install
1742

18-
> [!NOTE]
19-
> This elm-tooling/intellij-elm repo has not yet been released to the JetBrains Marketplace. The Elm plugin you’ll find over there is from the original [intellij-elm/intellij-elm](https://github.com/intellij-elm/intellij-elm) repo. See the [History](#history) section for more information.
20-
2143
You may want to have some CLI tools --`elm` (the Elm compiler), [`elm-test`](docs/elm-test.md), [`elm-format`](docs/features/elm-format.md),
2244
[`elm-review`](docs/features/elm-review.md) and [`lamdera`](docs/features/lamdera.md)-- installed for certain features of this plugin to work.
2345

24-
Install the first three with:
46+
You can install these globally with:
2547

2648
```bash
27-
sudo npm install -g elm elm-test elm-format elm-review
49+
sudo npm install -g elm elm-test elm-format elm-review lamdera
2850
```
2951

3052
**NOTE**: if you have [node](https://nodejs.org) installed using [nvm](https://github.com/nvm-sh/nvm), make sure to read [our NVM setup guide](docs/nvm.md).
3153

32-
To install the Lamdera Elm compiler, follow [their instructions](https://lamdera.com/start).
33-
3454
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).
3555
Some have reported that having two Elm plugins installed results in the IDE not starting but showing a seemingly unrelated error
3656
(if you have this problem, there are [ways to fix it](https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000524244-Disable-Uninstall-plugin-without-launching-Idea)).
3757

38-
From within a JetBrains IDE, go to `Settings` -> `Plugins` -> `Marketplace` and search for "TODO name of new plugin" (not yet available on the JetBrains Marketplace).
39-
After installing the plugin, restart the IDE and then [open your existing Elm project](docs/existing-project.md) or [create a new project](docs/new-project.md).
58+
From within a JetBrains IDE, go to `Settings` -> `Plugins` -> `Marketplace` and search for "Elm Language". If you get multiple hits look
59+
for the most recently updated version, since there are still older versions of the plugin available. After installing the plugin,
60+
restart the IDE and then [open your existing Elm project](docs/existing-project.md) or [create a new project](docs/new-project.md).
4061

4162
Alternatively you can install it manually by downloading a [release](https://github.com/elm-tooling/intellij-elm/releases) (or downloading the source and building it yourself) and
4263
installing it with `Settings` -> `Plugins` -> `⚙️ (gear icon)` -> `Install plugin from disk...`
4364

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

4768

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
21
import org.jetbrains.changelog.Changelog
32
import org.jetbrains.changelog.markdownToHTML
43
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
54
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
5+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
66

77

88
fun properties(key: String) = project.findProperty(key).toString()
@@ -19,7 +19,7 @@ plugins {
1919
// Gradle Changelog Plugin
2020
id("org.jetbrains.changelog") version "2.2.1"
2121
// Gradle Qodana Plugin
22-
id("org.jetbrains.qodana") version "2025.1.1"
22+
id("org.jetbrains.qodana") version "2023.3.1"
2323
}
2424

2525
group = properties("pluginGroup")

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
pluginGroup = io.github.elm-tooling
55
pluginName = Elm Language
66
# SemVer format -> https://semver.org
7-
pluginVersion = 5.1.0-beta2
7+
pluginVersion = 5.1.0
88

99
# We also set since and until build manually in `plugin.xml`. Keep them in sync!
1010
# See: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360010590059-Why-pluginUntilBuild-is-mandatory

qodana.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# Qodana configuration:
2-
# https://www.jetbrains.com/help/qodana/qodana-yaml.html
3-
4-
version: 1.0
1+
version: "1.0"
2+
linter: jetbrains/qodana-jvm-community:2023.3
53
profile:
64
name: qodana.recommended

src/main/kotlin/org/elm/ide/actions/ElmExternalReviewWatchmodeAction.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@ import com.intellij.openapi.actionSystem.PlatformDataKeys
99
import com.intellij.openapi.diagnostic.logger
1010
import com.intellij.openapi.fileEditor.FileEditorManager
1111
import com.intellij.openapi.project.Project
12-
import com.intellij.openapi.util.KeyWithDefaultValue
1312
import com.intellij.openapi.vfs.VfsUtil
1413
import com.intellij.openapi.vfs.VirtualFile
1514
import org.elm.ide.notifications.showBalloon
1615
import org.elm.lang.core.ElmFileType
1716
import org.elm.openapiext.saveAllDocuments
18-
import org.elm.workspace.*
1917
import org.elm.workspace.commandLineTools.makeProject
2018
import org.elm.workspace.compiler.findEntrypoints
21-
import java.util.*
19+
import org.elm.workspace.elmToolchain
20+
import org.elm.workspace.elmWorkspace
2221

2322
private val log = logger<ElmExternalReviewAction>()
2423

src/main/kotlin/org/elm/ide/color/ElmColorSettingsPage.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ type <type_decl>Msg</type_decl> <type>a</type>
7272
<func_decl>update</func_decl> : <type>Msg</type> -> <type>Model</type> -> ( <type>Model</type>, <type>Cmd Msg</type> )
7373
<func_decl>update</func_decl> <fn_arg>msg</fn_arg> <fn_arg>model</fn_arg> =
7474
let
75+
<fn_loc>localFunction</fn_loc> : <type>String</type> =
7576
<fn_loc>localFunction</fn_loc> <fn_loc_arg>a</fn_loc_arg> =
7677
<fn_loc_arg>a</fn_loc_arg>
7778
in

src/main/kotlin/org/elm/ide/highlight/ElmSyntaxHighlightAnnotator.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,11 @@ class ElmSyntaxHighlightAnnotator : Annotator {
217217
}
218218

219219
private fun AnnotationHolder.typeAnnotation(typeAnnotation: ElmTypeAnnotation) {
220-
applyColor(typeAnnotation.lowerCaseIdentifier, ElmColor.DEFINITION_NAME)
220+
if (typeAnnotation.isTopLevel) {
221+
applyColor(typeAnnotation.lowerCaseIdentifier, ElmColor.DEFINITION_NAME)
222+
} else {
223+
applyColor(typeAnnotation.lowerCaseIdentifier, ElmColor.LOCAL_FUNCTION)
224+
}
221225
}
222226

223227
private fun AnnotationHolder.field(element: PsiElement?) {

0 commit comments

Comments
 (0)