← [[doom-module-index:][Back to module index]] ! [[doom-module-issues:::lang elixir][Issues]] ↖ [[doom-source:modules/lang/elixir/][Github]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]] -------------------------------------------------------------------------------- #+TITLE: :lang elixir #+SUBTITLE: Erlang done right #+CREATED: May 24, 2017 #+SINCE: 2.0.3 (#83) * Description :unfold: This module provides support for [[https://elixir-lang.org/][Elixir programming language]] via [[doom-package:][alchemist]] or [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]]. ** Maintainers /This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]] ** Module flags - +lsp :: Enable LSP support for ~elixir-mode~. Requires [[doom-module:][:tools lsp]] and a langserver (supports [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]]). ** Packages - [[doom-package:][alchemist]] - [[doom-package:][elixir-mode]] - [[doom-package:][exunit]] - [[doom-package:][flycheck-credo]] if [[doom-module:][:checkers syntax]] ** Hacks /No hacks documented for this module./ ** TODO Changelog # This section will be machine generated. Don't edit it by hand. /This module does not have a changelog yet./ * Installation [[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]] This module requires Elixir. Install it via your distribution's package manager or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir][asdf]]. To add LSP support, install [[https://github.com/JakeBecker/elixir-ls/][elixir-ls]] and enable [[doom-module:][:tools lsp]]. To support linting with [[https://github.com/rrrene/credo][credo]], add ~:checkers syntax~ to ~$DOOMDIR/init.el~. ** Install Elixir (See [[https://elixir-lang.org/install.html]] for other operating systems) *** With ~asdf~ #+begin_src sh asdf plugin-add elixir asdf install elixir 1.9.1 #+end_src *** Arch Linux #+begin_src sh pacman -S elixir #+end_src *** Gentoo Linux #+begin_src sh emerge -v dev-lang/elixir #+end_src *** openSUSE #+begin_src sh zypper install elixir #+end_src * TODO Usage #+begin_quote 🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]] #+end_quote - Code completion ([[doom-module:][:completion company]]) - Documentation lookup ([[doom-module:][:tools lookup]]) - Mix integration - Phoenix support - ~iex~ integration ([[doom-module:][:tools eval]]) - Syntax checking ([[doom-module:][:checkers syntax]], using [[doom-package:][flycheck-credo]]) ** exunit-mode The exunit-mode prefix is [[kbd:][ t]]. Here is some examples: | command | key / ex command | description | |--------------------------------------------+-------------------+--------------------------------------------------------| | ~exunit-verify-all~ | [[kbd:][ t a]] | Runs exunit on all files | | ~exunit-rerun~ | [[kbd:][ t r]] | Re-runs last exunit command | | ~exunit-verify~ | [[kbd:][ t v]] | Runs exunit on current file | | ~exunit-verify-single~ | [[kbd:][ t s]] | Runs exunit for the item on cursor | | ~exunit-toggle-file-and-test~ | [[kbd:][ t t]] | Switch between implementation and test | | ~exunit-toggle-file-and-test-other-window~ | [[kbd:][ t T]] | Switch between implementation and test in other window | * TODO Configuration #+begin_quote 🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]] #+end_quote * Troubleshooting /There are no known problems with this module./ [[doom-report:][Report one?]] * Frequently asked questions /This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]] * TODO Appendix #+begin_quote 🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]] #+end_quote