Which text editor do you prefer for Elm?

1,675 views
Skip to first unread message

Rupert Smith

unread,
Aug 10, 2016, 6:47:34 AM8/10/16
to Elm Discuss
I'm trying the Elm emacs mode, but it is pretty bad. If I select and indent a whole file for example all the import statements and statements within a let .. in get indented +1 more level as you go down the list. Sometimes it crashes and busy spins Emacs too.

Something better would be appreciated. :-)

Robin Heggelund Hansen

unread,
Aug 10, 2016, 7:41:17 AM8/10/16
to Elm Discuss
I use VSCode and I'm pretty happy with it

Simone Vittori

unread,
Aug 10, 2016, 8:19:53 AM8/10/16
to Elm Discuss
I tried Atom recently, it gets pretty good when you start using the linter-elm-make package. You get inline errors and some other goodies.

Anyway I've been a happy Sublime Text user for a long time now. Elm support is quite good too, I used to have inline documentation with 0.16 via elm-oracle. It stopped working with 0.17, I haven't checked if it works again yet.

I just can't live without multiple cursors :)

David Legard

unread,
Aug 10, 2016, 8:59:10 AM8/10/16
to Elm Discuss
VS Code on one machine, Atom on another. Both very good.

And Firacode as the font, of course, for those cool ligatures.

Rupert Smith

unread,
Aug 10, 2016, 9:28:12 AM8/10/16
to Elm Discuss
On Wednesday, August 10, 2016 at 1:19:53 PM UTC+1, Simone Vittori wrote:
I tried Atom recently, it gets pretty good when you start using the linter-elm-make package. You get inline errors and some other goodies.

Any idea how to tell linter-elm-make where to pick up the elm-package.json from?

I have

- elm-package.json
- src/
 - elm/
  - Main.elm

and it complains imports are missing, I think because it cannot see the elm-package.json file. 

OvermindDL1

unread,
Aug 10, 2016, 10:32:47 AM8/10/16
to Elm Discuss
As others have stated, atom is awesome, easily the best so far.

You have https://atom.io/packages/linter-elm-make as other have mentioned.  It and language-elm use elm-oracle for intellisense, which is accurate, but hella-slow, like amazingly slow (multiple-seconds to bring up intellisense kind of slow), same on other IDE's that I've tried that use elm-oracle too (maybe because elm-oracle is just hella-slow on Windows, unsure elsewhere).

There is another plugin for elm on atom that came out recently:  https://atom.io/packages/elmjutsu

Elmjutsu adds significantly faster intellisense, more accurate intellisense (well same accuracy but more 'useful'), a sidebar (or bottom/top) that shows docs on where the cursor is, types shown, go to symbol or declaration or go back, and so much more.  It is made by one of the same people that primarily work on linter-elm-make to fix-up things in linter-elm-make that are out of the scope for that addon.

The elm-format atom addon is useful too, it uses elm-format to reformat your file, which you can do on save (don't do that on Windows, Windows non-cow filesystem makes elm-format hurgurk if done at same time as file saving), or only when you call it (which I do, and do often).


@Rupert Smith : Just open atom and open the 'folder' of your project where the elm-package.json is.  It works in atom's folder mode.

Nick H

unread,
Aug 10, 2016, 10:56:11 AM8/10/16
to elm-d...@googlegroups.com
I use emacs elm-mode too, and I agree that the default formatting is super bad. But you can fix this by installing elm-format and enabling the flag elm-format-on-save. Instead of indenting the entire file, just save your work and all will be well.

I haven't had any problems with crashing or stalling. There are still some other tics, but I am willing to put up with them because I've thrown away the best years of my life on emacs and I know, deep down, it really loves me.

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Joey Eremondi

unread,
Aug 10, 2016, 10:58:27 AM8/10/16
to elm-d...@googlegroups.com

Elm-light is full of features, and actively maintained by someone who is pretty active on this mailing list, which is nice.

https://github.com/rundis/elm-light

Eduardo Cuducos

unread,
Aug 10, 2016, 11:19:21 AM8/10/16
to elm-d...@googlegroups.com
I'm quite happy with vim & elmcast/elm-vim.

In other news: I'm quite happy but :ElmFormat does not work — yes, the bin is available on my $PATH. Any ideas why?

To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.

Simone Vittori

unread,
Aug 10, 2016, 11:29:00 AM8/10/16
to Elm Discuss

Any idea how to tell linter-elm-make where to pick up the elm-package.json from?

Go to linter-elm-make's settings and tick "Always Compile Main".

Rex van der Spuy

unread,
Aug 10, 2016, 12:37:22 PM8/10/16
to Elm Discuss
I've found the HTML5 based editors like Atom and Lightable a bit laggy in the past (maybe things have changed?) so for me it's Sublime all the way down :)

OvermindDL1

unread,
Aug 10, 2016, 12:42:51 PM8/10/16
to Elm Discuss
Atom used to be *hugely* laggy when I last tried it.  But I spun it up again recently for this new work project a couple months ago and it is significantly better now, very responsive (not quite as responsive as, say, KDevelop, which blows even intellij away, but fantastic now nonetheless).  Only slow on initial load, but I always keep it loaded so that is not an issue for me.

Dénes Harmath

unread,
Oct 4, 2016, 6:05:17 AM10/4/16
to Elm Discuss
Thank you very much for pointing to elmjutsu, it provides the IDE features that I was missing! :)

Witold Szczerba

unread,
Oct 4, 2016, 7:57:15 AM10/4/16
to elm-d...@googlegroups.com

Recently I've tried the VS Code. Installed the elm plugin and it works like a charm. I'm positively surprised.


--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.

Ed Ilyin

unread,
Oct 4, 2016, 8:07:57 AM10/4/16
to elm-d...@googlegroups.com
BTW, vscode is now gaining popularity (even among Google employees) for its consistent look, speed and nice git and shell integration. It is based on Monaco-editor.
Elm plug in: https://github.com/sbrink/vscode-elm

I have used sublime, vim, emacs, spacemacs, atom+proton and now Elming on vscode.
вт, 4 окт. 2016 г. в 12:05, Dénes Harmath <harmat...@gmail.com>:
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.

Andrew Radford

unread,
Oct 4, 2016, 8:35:38 AM10/4/16
to Elm Discuss
I'm also using this, but one thing that I can't figure out is how to copy code to the elm repl. Never works if you copy more than one line...

Would love to see a matrix of capabilities for common editors, covering things like

* Intellisense
* Send to Repl
* Go to definition
* Rename Refactor
* Elm-format 

etc etc.

I think it would be a good tool for beginners (like me) to get going faster. They won't need to 'survey the landscape' as much.

OvermindDL1

unread,
Oct 4, 2016, 10:12:52 AM10/4/16
to Elm Discuss
Are there a set of wiki pages that such a table could be set up at?  Perhaps at the elm-lang.github.io or so?  This would be a good setup to add.  I know Atom plugins have all the below features for Elm (and more features).

Dénes Harmath

unread,
Oct 4, 2016, 10:24:09 AM10/4/16
to elm-d...@googlegroups.com
I created a Google Spreadsheet for this, feel free to edit it: Elm editor plugin comparison

--
You received this message because you are subscribed to a topic in the Google Groups "Elm Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elm-discuss/RbF_EgacGSM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elm-discuss...@googlegroups.com.

Keith Lazuka

unread,
Oct 4, 2016, 12:46:13 PM10/4/16
to Elm Discuss
I use (and contribute to) the Elm plugin for IntelliJ. It has rename support (although not for modules/files yet). Detects unresolved references and suggests a quick fix that adds the correct import for you. Has great go-to-definition support. I have elm-format setup as an external tool and bound to a keybinding in the editor.

Magnus Rundberget

unread,
Oct 4, 2016, 5:13:26 PM10/4/16
to Elm Discuss
Hi

Author of elm-light the Elm plugin for Light Table here. I'm not 100% sure, but I think I might be right when saying that currently my plugin provides the widest range of Elm related features at the moment.
A lot of folks have never heard of Light Table and understandably so, it's probably most known in the Clojure community.  Light Table's biggest strength is that it's super hackable (like emacs hackable), that's what got me interested in the first place. However it's not as polished as say VSCode or Atom (which is build on a similar architecture). It is written in ClojureScript, which is a dynamically typed languge Personally I think that it is a great functional language. (Btw if someone ever considers writing a modern editor in Elm, count me in.)  I think it's awesome to be able to tweak the most important tool I use everyday, but of course I also understand that most people probably aren't interested in optimizing their editor and wants more an out of the box experience. Hence why I created the plugin in the first place.

Anyways I'm straying.  Choosing to learn a new editor is a leap of faith and obviously requires some investment. Number of features is probably not the most important metric for selecting an editor, but to the degree it carries some weight it might be worth at least checking out/skimming the Docs for elm-light :-)


I do want to voice a slight concern regarding a feature comparison matrix though. We have to be careful that we don't end up comparing apples and oranges. Example
- Autocomplete : check. What does that mean, are their implementation/use equally good because they all have it ? Some editors might have context sensitive completions, but others might just use a more generic completions engine that only covers 3.rd party packages and no or little context awareness. Both are useful, but maybe they shouldn't be equally weighted ?

It's hard to convey these nuances in a feature comparison matrix. Worth keeping in mind if nothing else.

Editor future:
- There is work in progress to create an Elm AST (some implementations are out there already), but I'm talking about an community / "official" one probably powered/enriched by the Elm compiler. It's going to take some time, but I think this will allow for some really awesome editor features and lots of innovation going forward. We just need a bit of patience in the tooling space, Elm is still a young language !
- Lot's of editors are using https://github.com/ElmCast/elm-oracle to drive Elm features. It's a great first step, but eventually I believe that or something similar might evolve into something a lot more powerful that will benefit all editors.

Editor support for Elm is not fantastic today, but it's steadily improving and I'm confident the future is bright !

If you do decide to give Light Table a try. Let me know how it went. (@mrundberget on slack)

cheers
-magnus








-

Martin DeMello

unread,
Oct 4, 2016, 6:24:40 PM10/4/16
to elm-d...@googlegroups.com
The top two features I look for in a code editor are vim emulation and autoindentation - how does vscode hold up in those areas?

martin

To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.

Rupert Smith

unread,
Oct 5, 2016, 9:59:35 AM10/5/16
to Elm Discuss
On Wednesday, August 10, 2016 at 11:47:34 AM UTC+1, Rupert Smith wrote:
I'm trying the Elm emacs mode, but it is pretty bad. If I select and indent a whole file for example all the import statements and statements within a let .. in get indented +1 more level as you go down the list. Sometimes it crashes and busy spins Emacs too.

Something better would be appreciated. :-)

I'm using Atom now, elmjutsu seems ok, the linter-elm-make is working now but quite slow, so I use it only occasionally. Atom seems a little flaky, needs to be restarted now and again. Hopefully it will improve because it generally seems to work quite well. 

Kristo Koert

unread,
Oct 5, 2016, 10:15:42 AM10/5/16
to Elm Discuss

Works very well for me, and pretty easy to set up. I also tried tried these editors before settling on spacemacs:

Sublime Text Plugin (Abandoned and missing some features)
Atom (Too slow for me, elm-format on save cause visible flickering of the code highlighting)
IntelliJ (Was too incomplete)

At one point in Sublime I build a decent sized Elm application, all the while not even realising that code highlighting was broken (worked for just some keywords). Elms syntax is IMHO very simple and the compiler is so helpful that fancy features might not be so important. Just my 2c. Wouldn't hurt though.

NOTE: I use spacemacs just as a preset for emacs, don't even know vim.

Rupert Smith

unread,
Oct 5, 2016, 11:06:18 AM10/5/16
to Elm Discuss
On Wednesday, October 5, 2016 at 3:15:42 PM UTC+1, Kristo Koert wrote:

Looks interesting. That could tempt me back to emacs.

Basel Hamadeh

unread,
Oct 5, 2016, 10:49:23 PM10/5/16
to Elm Discuss
I use Vim as my main text editor and i just started with Elm and i find the elm plugin for vim pretty good

Dave Thomas

unread,
Oct 6, 2016, 12:34:56 PM10/6/16
to Elm Discuss
Im pretty much using VSCode for everything in Elm, with some occasional use of LightTable with the elm-light plugin which is very nice too.

Thomas Droxler

unread,
Oct 8, 2016, 2:37:27 PM10/8/16
to Elm Discuss
 Hi everyone, 

I'm using vim (neovim) with `ElmCast/elm-vim` and I'm currently integrating elm to Sarsi (see PR). This allows me to automatically jump on error (no need to read the file/line/column in the error message), I must say it's a key feature for me, I'm using Sarsi daily with Scala at work and it rocks. 
Moreover, as explain in the Sarsi doc, I'm also using entr, which allows me to automatically launch `elm-make` when I save a file.

Anyway, we're also looking for someone to create a `sarsi-atom` or any text editor, don't hesitate..... :-)
Reply all
Reply to author
Forward
0 new messages