doomemacs/modules/lang/elixir
Henrik Lissner 037b018cdd
feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
..
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
config.el nit: add deprecation comments for projectile config 2024-08-09 20:42:33 -04:00
doctor.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
packages.el bump: :lang 2024-06-26 22:58:01 -04:00
README.org docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00

:lang elixir

Description   unfold

This module provides support for Elixir programming language via elixir-ls.

Maintainers

This module has no dedicated maintainers. Become a maintainer?

Module flags

+lsp
Enable LSP support for elixir-mode. Requires doom-module::tools lsp and a langserver (supports elixir-ls).
+tree-sitter
Leverages tree-sitter for better syntax highlighting and structural text editing. Requires doom-module::tools tree-sitter.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

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 asdf.

To add LSP support, install elixir-ls and enable doom-module::tools lsp.

To support linting with credo, add :checkers syntax to $DOOMDIR/init.el.

Install Elixir

(See https://elixir-lang.org/install.html for other operating systems)

With asdf

asdf plugin-add elixir
asdf install elixir 1.9.1

Arch Linux

pacman -S elixir

Gentoo Linux

emerge -v dev-lang/elixir

openSUSE

zypper install elixir

TODO Usage

󱌣 This module's usage documentation is incomplete. Complete it?

  • 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)
  • Formatting for elixir files provided by doom-module::editor format.

exunit-mode

The exunit-mode prefix is <localleader> t. Here is some examples:

command key / ex command description
exunit-verify-all <localleader> t a Runs exunit on all files
exunit-rerun <localleader> t r Re-runs last exunit command
exunit-verify <localleader> t v Runs exunit on current file
exunit-verify-single <localleader> t s Runs exunit for the item on cursor
exunit-toggle-file-and-test <localleader> t t Switch between implementation and test
exunit-toggle-file-and-test-other-window <localleader> t T Switch between implementation and test in other window

TODO Configuration

󱌣 This module has no configuration documentation yet. Write some?

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?