This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/elixir
justbur 6eab954afe Use + instead of ! for layer categories
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes #2737, because as far as I can tell "+" has no special
meaning in a helm pattern.

Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
2015-09-11 00:13:51 -04:00
..
img Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
alchemist-refcard.pdf Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
alchemist-refcard.tex Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
config.el Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
packages.el Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
README.org Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00

Elixir contribution layer for Spacemacs

/TakeV/spacemacs/media/commit/9a76e9dd9e0d76dccf88a4517a8d9700c3477cb4/layers/+lang/elixir/img/elixir.png with /TakeV/spacemacs/media/commit/9a76e9dd9e0d76dccf88a4517a8d9700c3477cb4/layers/+lang/elixir/img/alchemist.png

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.