2019-06-24 19:55:27 +03:00
#+TITLE : lang/elixir
#+DATE : June 24, 2019
#+SINCE : v2.0.9
* Table of Contents :TOC_3:noexport:
- [[#description ][Description ]]
2019-07-26 21:23:32 +03:00
- [[#plugins ][Plugins ]]
2019-06-24 19:55:27 +03:00
- [[#prerequisites ][Prerequisites ]]
2019-07-26 21:23:32 +03:00
- [[#install-elixir ][Install Elixir ]]
2019-06-24 19:55:27 +03:00
- [[#with-asdf ][With ~asdf~ ]]
- [[#arch-linux ][Arch Linux ]]
- [[#gentoo-linux ][Gentoo Linux ]]
- [[#features ][Features ]]
* Description
2019-07-26 21:23:32 +03:00
This module provides support for [[https://elixir-lang.org/ ][Elixir programming language ]] via [[https://github.com/tonini/alchemist.el ][alchemist.el ]]
or [[https://github.com/JakeBecker/elixir-ls/ ][elixir-ls ]].
** Plugins
+ [[https://github.com/rust-lang/rust-mode ][elixir-mode ]]
+ [[https://github.com/tonini/alchemist.el ][alchemist.el ]]
+ [[https://github.com/aaronjensen/flycheck-credo ][flycheck-credo ]]
2019-06-24 19:55:27 +03:00
* Prerequisites
2019-07-26 21:23:32 +03:00
You should have Elixir installed, for example, via your distribution's package
2019-06-24 19:55:27 +03:00
manager or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir ][asdf ]].
2019-07-26 21:23:32 +03:00
If you want to add support for LSP ([[modules/tools/lsp ][:tools lsp ]]), be sure to install [[https://github.com/JakeBecker/elixir-ls/ ][elixir-ls ]]
and enable ~:tools lsp~ in your ~init.el~ .
To support linting with [[https://github.com/rrrene/credo ][credo ]], add ~:tools flycheck~ to your ~init.el~
** Install Elixir
2019-06-24 19:55:27 +03:00
*** With ~asdf~
#+BEGIN_SRC sh
asdf plugin-add elixir
2019-07-26 21:23:32 +03:00
asdf install elixir 1.9.1
2019-06-24 19:55:27 +03:00
#+END_SRC
*** Arch Linux
#+BEGIN_SRC sh :dir /sudo::
sudo pacman -S elixir
#+END_SRC
*** Gentoo Linux
#+BEGIN_SRC sh :dir /sudo::
sudo emerge -v dev-lang/elixir
#+END_SRC
2019-07-26 21:23:32 +03:00
* Features
- Code completion (~:completion company~ )
- Documentation lookup (~:tools lookup~ )
- Mix integration
- Phoenix support
- ~iex~ integration (~:tools eval~ )
- Syntax checking (~:tools flycheck~ , using [[https://github.com/aaronjensen/flycheck-credo ][flycheck-credo ]]~)