spacemacs/contrib/!lang/erlang-elixir
Samuel Tonini eb269c7458 update elixir contrib
* add missing key bindings
* add alchemist-refcard spacemacs version
* update README
2015-06-08 00:02:44 -04:00
..
img
alchemist-refcard.pdf update elixir contrib 2015-06-08 00:02:44 -04:00
alchemist-refcard.tex update elixir contrib 2015-06-08 00:02:44 -04:00
config.el
packages.el update elixir contrib 2015-06-08 00:02:44 -04:00
README.md update elixir contrib 2015-06-08 00:02:44 -04:00

Erlang/Elixir contribution layer for Spacemacs

logo_erlang

logo_elixir with logo_alchemist

Table of Contents

Install

To use this contribution add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(erlang-elixir))

Erlang

Enable EDTS

EDTS is disabled by default, to enable it add the following snippet to the dotspacemacs/init function of your ~/.spacemacs file.

(setq spacemacs-erlang-elixir-use-edts t)

Note that EDTS is disable on Windows.

EDTS Key bindings

Key Binding     |                 Description

--------------------|------------------------------------------------------------ SPC m d | show man page documentation SPC m e | go to next issue SPC m g | go to definition SPC m G | find a module in the current project SPC m h | open the header file under point SPC m l | find a function in the current module SPC m m | go to the macro definition under point SPC m r | go to the record definition under point

Elixir

Alchemist

Alchemist brings the Elixir toolings to Emacs and comes with a bunch of features like,

  • Powerful IEx integration
  • Mix integration
  • Compile & Execution of Elixir code
  • Inline code evaluation
  • Documentation lookup
  • Definition lookup
  • Smart code completion
  • Elixir project management
  • Integration with company-mode

Refcard

You find and overview of all the key-bindings on the Alchemist-Refcard.

Key bindings

Help
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m h : | Run custom search for help SPC m h h | Show help of the current expression SPC m h H | Toggle through search history SPC m h r | Show help for current region

Mix
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m m : | Prompt for a mix command SPC m m c | Compile the whole application SPC m m h | Show help for a specific mix command SPC m m x | Run the given expression in the Elixir application context

Project
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m p t | Open project test directory and list all test files. SPC m g t | Toggle between a file and its tests in the current window. SPC m g T | Toggle between a file and its tests in other window.

Evaluation in place
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m e b | Evaluate buffer SPC m e B | Evaluate buffer and insert result SPC m e l | Evaluate current line SPC m e L | Evaluate current line and insert result SPC m e r | Evaluate region SPC m e R | Evaluate region and insert result

REPL interactions
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m s i | Start an iex inferior process SPC m s I | Start an IEx process with mix (iex -S mix) SPC m s l | Send current line to REPL buffer SPC m s L | Send current line to REPL buffer and focus it in insert state SPC m s r | Send region to REPL buffer SPC m s R | Send region to REPL buffer and focus it in insert state SPC m s c | Compiles the current buffer in the IEx process.

Tests
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m g t | Open the test file for current buffer SPC m t a | Run all the tests SPC m t b | Run all the tests from current buffer SPC m t t | Run test under point

Compile
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m c : | Run a custom compile command with elixirc SPC m c b | Compile the current buffer with elixirc. elixirc SPC m c f | Compile the given filename with elixirc

Execute
Key Binding       |                 Description

----------------------|------------------------------------------------------------ SPC m x : | Run a custom execute command with elixir SPC m x b | Run the current buffer through elixir SPC m x f | Run elixir with the given filename

Code Definition Jump
Key Binding     |                 Description

--------------------|------------------------------------------------------------ SPC m g g | Jump to the elixir expression definition at point. SPC m , | Pop back to where SPC m g g was last invoked.