• Stars
    star
    190
  • Rank 197,251 (Top 4 %)
  • Language
    Python
  • Created about 12 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Erlang Plugin for Sublime Text 2, which enables code completion and allows you to run tests within the editor itself.

SublimErl (Erlang Tests & Code Completion)

Overview

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 for module / single test )
  • Run Common Tests ( all tests for module )
  • Run Dialyzer tests ( single module )
  • Goto any exported function of your project easily
  • Access man pages from the text editor

All within your test editor.

A brief feature introduction video can be seen here:

SublimErl screenshot

Screenshots

Here's a screenshot of SublimErl's Code Completion feature:

SublimErl screenshot

Here's a screenshot of SublimErl's Auto-Indenting feature:

SublimErl screenshot

Here's a screenshot of SublimErl running an Eunit specific test in file.

SublimErl screenshot

Usage

  • Code Completion: Just type and select available options
  • Auto-Indenting: hit Command-Option-L to auto-intent an entire file
  • Run single Eunit: position your cursor anywhere within your test function and hit Command-Shift-F8
  • Run all Eunit tests in file: position your cursor outside any test function and hit Command-Shift-F8
  • Run all CT tests in file: view the 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)
  • Goto any exported function of your project easily: hit Command-Option-p (OSX) | Command-Alt-p (Linux/Win) and select a function
  • To access man pages: hit Command-Option-i (OSX) | Command-Alt-i (Linux/Win) and select a module

Installation

SublimErl currently supports only on OSX and Linux. There are 3 ways to install it.

1. Sublime Package Control

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.

2. Git Clone

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
3. File Download

Head to the downloads section and unzipping the downloaded file into the Sublime Text 2 Packages directory.

Configuration

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.

Dependencies

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).
  • (optional) Erlang man pages if you use this functionality.

To unleash the full power of the plugin, you will also need to comply to:

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
   |-- ...

Known issues

We have had reports that some plugin functionalities experience unwanted behaviour (freezing) with the Erlang precompiled package provided by Erlang Solutions, see issue #56. We're looking into this.

More Repositories

1

misultin

Misultin (pronounced mee-sool-tΓ©en) is an Erlang library for building fast lightweight HTTP(S) servers, which also supports websockets.
Erlang
651
star
2

syn

A scalable global Process Registry and Process Group manager for Erlang and Elixir.
Erlang
612
star
3

apnotic

A Ruby APNs HTTP/2 gem able to provide instant feedback.
Ruby
462
star
4

gin

A LUA fast, low-latency, low-memory footprint, web JSON-API framework with Test Driven Development helpers and patterns.
Lua
236
star
5

net-http2

NetHttp2 is an HTTP/2 client for Ruby.
Ruby
140
star
6

ram

A distributed KV store for Erlang and Elixir.
Erlang
111
star
7

pgpool

A PosgreSQL client that automatically uses connection pools and handles reconnections in case of errors.
Erlang
42
star
8

cowbell

An Erlang node connection manager.
Erlang
26
star
9

erlcassa

A Cassandra CQL client.
Erlang
18
star
10

bisbino

An Erlang HTTP server with FastCGI as backend.
Erlang
18
star
11

rebar3_vendor

Rebar3 Vendor Plugin.
Erlang
14
star
12

SCAR_UCM

Utilities Construction Mod for Arma 3.
SQF
11
star
13

PyAES256

An AES-256 cryptographic module for Python.
C
9
star
14

erlgate

An alternative transport for Erlang messages across nodes.
Erlang
8
star
15

lager_airbrake

An Airbrake lager backend.
Erlang
7
star
16

gin-demo

The working demo code of the Gin tutorial on gin.io.
Lua
4
star
17

origami

My standard bootstrap project for distributed TCP applications.
Erlang
3
star
18

SCAR_E2TB

A mod for Arma 3 that allows you to export data to Terrain Builder, from EDEN and in game.
SQF
3
star
19

phpass

A simple implementation of PHPass’ Portable Hash.
Erlang
3
star
20

mochiweb_reloader

Erlang
2
star
21

contextual-git-prompt

Display git information in OSX terminal's prompt.
Shell
2
star
22

pyopenspime

Automatically exported from code.google.com/p/pyopenspime
Python
2
star