-
-
Notifications
You must be signed in to change notification settings - Fork 160
Description
Finally feeling well again after many months, and I'm dedicating Saturday afternoon/Sunday to finalising a whole bunch of work.
Step 1: Finish outstanding PRs
This release requires a bit of work, but we're fairly close, and we have some exciting features.
- We need to upgrade to Kotlin 2.x, which is required for 2025.1+. I did this a while ago, PR Kotlin 2.x support #3702.
- HEEx injection - this is honestly one of my favourite features when working with other languages, as the SQL injection etc is super handy, and this is a great idea. Many thanks to @polymorfiq for getting the ball rolling for this, and figuring out the arcane magic incantations to do so.
- Language Support for HEEx - This might need a bit of work in future, as these are really tricky to get right (PSI nightmares). Add language support for HEEx #3696
Step 2: RELEASE
This will support 2025.1 and below, but 2025.2 will have a few issues.
Step 3: Fix deprecated IntelliJ Plugin Platform code
Now, we'll need to fix a fair few Kotlin coroutines/threading related issues, such as #3699 .
Fun. Unknown scope.
Step 3a: Work on 2025.2 support
Every fix will be in either a canary or point release, to help fix 2025.2 support, and hopefully get the IDEs working again.
During this, we will obviously get reports in about how 2025.x+ doesn't support the way the plugin does background work not via coroutines.
Step 4: OTP/Elixir Version Upgrades
After this is merged, I will open another issue where we can track upgrading to the newer versions of Erlang & Elixir, which will make local development a bit easier (for example, installing OTP 24.3.4.6 requires openssl1, which is a pain on both MacOS/Linux).
This will require some updates to the Lexer, as there are new language features in Elixir & OTP.
A interesting experiment could be burrito, which allows you to build binaries for platforms, which would be perfect for the intellij_elixir Elixir Helpers, see https://github.com/joshuataylor/intellij_elixir/blob/main/.github/workflows/burrito-build-cross.yaml , as we can build standalone binaries that run the Erlang/Elixir app without needing that specific version, allowing easier collaboration, and support for JetBrains (trying to get them to read your issue, yet along run Erlang/Elixir is not going to happen).
Future work / fun stuff
During all this, there are obviously still lots of long hanging fruit, and hopefully we can merge these quickly.
e.g:
- Get Canary Releases working, for testing - no more ZIPs!