emacs mode for elm editing

6b55e81 Change name properly from elm-mode to elmo

a month ago

72bf388 Add year and name to license

2 months ago

#elmo.el - Edit Elm source code in emacs

This is a simple major mode for editing Elm in emacs. It is only compatible with elm version > 0.19.



elmo relies a lot on project.el available in newer versions of emacs. Some integrations elmo provides are:

  • Find root in a project, depends on git for now. Use git init if it cannot find root.
  • Add patterns you want to ignore to .gitignore, as usual.
  • Using project-compile, trigger elm make in root folder.
  • Ignores elm-stuff by default, so project-find-regexp shows less garbage.

Also you are free to bind project-shell, project-find-regexp, project-find-file and friends.

#Integration with Elm tooling

Binding Name
C-c C-z elm-repl
C-c C-c elm-make
C-c C-r elm-reactor


elmo tries to be smart about indentation. However, elm is a pretty difficult language to indent, since it is whitespace sensitive. elmo offers indentation where it is easy to determine, but, you can still adjust with tab and backtab, like in conventional editors.


elmo provides some options for customization, however there are not too many yet.

  • elm-indent-offset: Defaults to 4.
  • elm-compile-command: Defaults to elm make src/Main.elm