104 lines
3.9 KiB
Org Mode
104 lines
3.9 KiB
Org Mode
#+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 [[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]]).
|
|
- +tree-sitter ::
|
|
Leverages tree-sitter for better syntax highlighting and structural text
|
|
editing. Requires [[doom-module::tools tree-sitter]].
|
|
|
|
** Packages
|
|
- [[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]])
|
|
- Formatting for elixir files provided by [[doom-module::editor format]].
|
|
|
|
** exunit-mode
|
|
The exunit-mode prefix is [[kbd:][<localleader> t]]. Here is some examples:
|
|
| command | key / ex command | description |
|
|
|--------------------------------------------+-------------------+--------------------------------------------------------|
|
|
| ~exunit-verify-all~ | [[kbd:][<localleader> t a]] | Runs exunit on all files |
|
|
| ~exunit-rerun~ | [[kbd:][<localleader> t r]] | Re-runs last exunit command |
|
|
| ~exunit-verify~ | [[kbd:][<localleader> t v]] | Runs exunit on current file |
|
|
| ~exunit-verify-single~ | [[kbd:][<localleader> t s]] | Runs exunit for the item on cursor |
|
|
| ~exunit-toggle-file-and-test~ | [[kbd:][<localleader> t t]] | Switch between implementation and test |
|
|
| ~exunit-toggle-file-and-test-other-window~ | [[kbd:][<localleader> 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
|