elixir-mode -- Emacs major mode for Elixir
you may get new emacs-elixir
Simply add to your load path and require the mode to install.
In your shell...
% git clone git://github.com/secondplanet/elixir-mode ~/.emacs.d/elixir-mode
% $EDITOR ~/.emacs
In the editor...
(add-to-list 'load-path "~/.emacs.d/elixir-mode")
(require 'elixir-mode)
Save and reload with M-x load-file
~/.emacs
.
Any file that matches the glob *.ex[s]
is automatically opened in
Elixir mode, but you can change this functionality easily.
;; Highlights *.elixir as well
(add-to-list 'auto-mode-alist '("\\.elixir\\'" . elixir-mode))
(For the M-x
prompt.)
Switches to elixir-mode.
Applies compile-on-save minor mode.
Launch IEX
inside Emacs.(buggy...)
Open the GitHub page for Elixir.
Compile Elixir files. Works fine on exs
files, too, if needed.
Go to Elixir README in the browser.
Print version info for elixir-mode.
Indent the current line.
Hooks can be used to add functionality to elixir-mode. This example adds compile on save.
(defun elixir-mode-compile-on-save ()
"Elixir mode compile files on save."
(and (file-exists (buffer-file-name))
(file-exists (elixir-mode-compiled-file-name))
(elixir-cos-mode t)))
(add-hook 'elixir-mode-hook 'elixir-mode-compile-on-save)
Custom variables for elixir-mode.
Command to compile Elixir code.
Command to start an interactive REPL in IEX
.
Should operators be colored? (Currently not working properly.)
Should Cygwin paths be used on Windows?
The prefix for Cygwin-style paths.
indent basic offset
for after, elsif, else, catch, rescue offset
for -> offset in cond, case
Keymaps can be added to the elixir-mode-map
variable.
There are no keyboard shortcuts included by default.
This is still very alpha software; there are probably several bugs. Right now the indentation implementation needs some work, and the operator font-locking doesn't appear to be working correctly.
This is my first Emacs mode, so please excuse some of the messy bits in the implementation. To help me out I had a look at and borrowed a bit of code from io-mode, ruby-mode, and coffee-mode.