spacemacs/contrib/!lang/elixir
syl20bnr 19ea540c67 Split Erlang and Elixir into their own layers
Simplify the Erlang layer to make it basic by removing EDTS
2015-06-08 23:27:15 -04:00
..
img Split Erlang and Elixir into their own layers 2015-06-08 23:27:15 -04:00
alchemist-refcard.pdf Split Erlang and Elixir into their own layers 2015-06-08 23:27:15 -04:00
alchemist-refcard.tex Split Erlang and Elixir into their own layers 2015-06-08 23:27:15 -04:00
packages.el Split Erlang and Elixir into their own layers 2015-06-08 23:27:15 -04:00
README.md Split Erlang and Elixir into their own layers 2015-06-08 23:27:15 -04:00

Elixir contribution layer for Spacemacs

logo_elixir with logo_alchemist

Table of Contents

Description

This layer adds support for Elixir.

Alchemist brings the Elixir tooling 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

Install

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

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

Key bindings

Refcard

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

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.