SublimErl is a plugin for the text editor Sublime Text 2. It allows you to:
- Benefit from Code Completion ( all Erlang libs + your current project )
- Allows you to Auto-Indent your Erlang code
- Run Eunit tests ( all tests from file / single test )
- Run Common Tests ( single file )
- Run Dialyzer tests ( single file )
All within your test editor.
Here's a screenshot of SublimErl's Code Completion feature:
Here's a screenshot of SublimErl's Auto-Indenting feature:
Here's a screenshot of SublimErl running an Eunit specific test in file.
- Code Completion: Just type and select available options
- Auto-Indenting: hit
Command-Option-L
to auto-intent an entire file - Run single Eunit test: position your cursor anywhere within your test function and hit
Command-Shift-F8
- Run all Eunit test in file: position your cursor outside any test function and hit
Command-Shift-F8
- Run all Common Tests in file: view the test file and hit
Command-Shift-F8
- Run Dialyzer on file: view the file and hit
Command-Shift-F9
- Re-Run the previous test: hit
Command-F8
( you do not need to be viewing the test to launch it ) - View Common Tests results in browser: hit
Command-Option-F8
(OSX) |Command-Alt-F8
(Linux/Win)
A brief introduction video can be seen here:
SublimErl currently supports only on OSX and Linux. There are 3 ways to install it.
Download and install the Sublime Package Control. This package controller allows you to easily manage your Sublime Text 2 plugins (installs / removals / upgrades).
SublimErl's latest stable versions are pushed automatically to the package control. However, if you want the latest and greatest, you'll have to use one of the other following options.
Go to your Sublime Text 2 Packages
directory:
- OS X:
~/Library/Application Support/Sublime Text 2/Packages
- Linux:
~/.Sublime Text 2/Packages/
and clone the repository using the command below:
git clone https://github.com/ostinelli/SublimErl.git
Head to the downloads section and unzipping the downloaded file into the Sublime Text 2 Packages
directory.
SublimErl needs and will try to detect the paths of the following executables: rebar, erl, escript and dialyzer. If it doesn't succeed to find those, or if you prefer to manually configure these path, you can set them in the SublimErl.sublime-settings
file, located in the SublimErl
plugin directory.
To use SublimErl, you need to have:
- The editor Sublime Text 2.
- Erlang ( ..obviously ^^_ ).
- Basho's Rebar built after September 13th, 2012 (which has support for the
tests=
option).
To unleash the full power of the plugin, you will also need to comply to:
- OTP standards ( i.e. have your project defined according to OTP Directory Structure ).
- Rebar's conventions.
TL;DR: it basically means to organize your project structure using:
-- myproject
|-- ebin
|-- src
|-- myproject.app.src
|-- test
|-- ...
or, for example, a more complex project structure defined in rebar.conf:
-- myproject
rebar.config
|-- apps
|-- app1
|-- app2
|-- deps
|-- dep1
|-- dep2
|-- ...