Emacs setup for Elixir


img

I’ve been using Emacs with different languages for multiple years for all my programming work. For the last couple of years, I’ve been working with the Elixir lang as my main programming language. Over time I accumulated a set of Emacs tools that I constantly use when writing code with Elixir.

In this post, I’ll list the packages I use with Elixir.

Packages

Majority of these packages can be used with any programming language. So I divided them into three sections: Elixir specific packages, first-tier common packages and second-tier common packages.

Elixir specific packages

  • elixir-mode - Font-locking and indentation for Elixir
  • mix.el - Emacs Minor Mode for Mix, a build tool that ships with Elixir
  • flycheck-credo - Flycheck checker for Credo - A static code analysis tool for the Elixir language. Flycheck is a modern on-the-fly syntax checking extension

First-tier common packages.

  • projectile - Project interaction library
  • company-mode - Text completion framework for Emacs
  • magit - Interface to the version control system Git

Second-tier common packages.

  • yasnippet - Template system
  • web-mode - Web template editing mode
  • dumb-jump - “Jump to definition” package
  • treemacs - Tree layout file explorer
  • ag - frontend to The Silver Searcher