merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to do there, but I am pushing the module docs early so folks can benefit from the new docs sooner.
This commit is contained in:
commit
1f8bf7accb
179 changed files with 13125 additions and 8630 deletions
|
@ -1,79 +1,106 @@
|
|||
#+TITLE: lang/elixir
|
||||
#+DATE: June 24, 2019
|
||||
#+SINCE: v2.0.9
|
||||
# -*- mode: doom-docs-org -*-
|
||||
#+title: :lang elixir
|
||||
#+subtitle: Erlang done right
|
||||
#+created: May 24, 2017
|
||||
#+since: 2.0.3 (#83)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#install-elixir][Install Elixir]]
|
||||
- [[#with-asdf][With ~asdf~]]
|
||||
- [[#arch-linux][Arch Linux]]
|
||||
- [[#gentoo-linux][Gentoo Linux]]
|
||||
- [[#opensuse][openSUSE]]
|
||||
- [[#features][Features]]
|
||||
- [[#appendix][Appendix]]
|
||||
- [[#commands][Commands]]
|
||||
* 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]].
|
||||
|
||||
* Description
|
||||
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/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. Requires [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
||||
- +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]].
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]]
|
||||
+ [[https://github.com/tonini/alchemist.el][alchemist.el]]
|
||||
+ [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]
|
||||
+ [[https://github.com/ananthakumaran/exunit.el][exunit]]
|
||||
** Packages
|
||||
- [[doom-package:][alchemist]]
|
||||
- [[doom-package:][elixir-mode]]
|
||||
- [[doom-package:][exunit]]
|
||||
- [[doom-package:][flycheck-credo]] if [[doom-module:][:checkers syntax]]
|
||||
|
||||
* Prerequisites
|
||||
You should have Elixir installed, for example, via your distribution's package
|
||||
manager or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir][asdf]].
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
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~.
|
||||
** 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~.
|
||||
|
||||
To support linting with [[https://github.com/rrrene/credo][credo]], add ~:checkers syntax~ to your ~init.el~
|
||||
** Install Elixir
|
||||
(See [[https://elixir-lang.org/install.html]] for other operating systems)
|
||||
|
||||
*** With ~asdf~
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
asdf plugin-add elixir
|
||||
asdf install elixir 1.9.1
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
*** Arch Linux
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo pacman -S elixir
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
pacman -S elixir
|
||||
#+end_src
|
||||
|
||||
*** Gentoo Linux
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo emerge -v dev-lang/elixir
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
emerge -v dev-lang/elixir
|
||||
#+end_src
|
||||
|
||||
*** openSUSE
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo zypper install elixir
|
||||
#+END_SRC
|
||||
See [[https://elixir-lang.org/install.html]] for other operating systems
|
||||
* Features
|
||||
- Code completion (~:completion company~)
|
||||
- Documentation lookup (~:tools lookup~)
|
||||
#+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 (~:tools eval~)
|
||||
- Syntax checking (~:checkers syntax~, using [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]~)
|
||||
* Appendix
|
||||
** Commands
|
||||
*** exunit-mode
|
||||
The exunit-mode prefix is =SPC m t=. Here is some examples:
|
||||
| | | |
|
||||
| command | key / ex command | description |
|
||||
|------------------------------------------+------------------+--------------------------------------------------------|
|
||||
| ~exunit-verify-all~ | =SPC m t a= | Runs exunit on all files |
|
||||
| ~exunit-rerun~ | =SPC m t r= | Re-runs last exunit command |
|
||||
| ~exunit-verify~ | =SPC m t v= | Runs exunit on current file |
|
||||
| ~exunit-verify-single~ | =SPC m t s= | Runs exunit for the item on cursor |
|
||||
| ~exunit-toggle-file-and-test~ | =SPC m t t= | Switch between implementation and test |
|
||||
| ~exunit-toggle-file-and-test-other-window~ | =SPC m t T= | Switch between implementation and test in other window |
|
||||
- ~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:][<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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue