Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Better Erlang Support for Sublime Text

branch: master
Octocat-spinner-32 build Add custom grammar build system May 17, 2013
Octocat-spinner-32 st3 Prevent Goto Definition jump to module definition for unknown functions January 24, 2014
Octocat-spinner-32 .gitignore Ignore *.sublime-workspace May 17, 2013
Octocat-spinner-32 Builtin Types.sublime-completions small typo November 12, 2011
Octocat-spinner-32 Case-Expression.sublime-snippet init with Erlang Package contents from build 2131 October 07, 2011
Octocat-spinner-32 Comments.tmPreferences Support commenting in Yecc files August 22, 2012
Octocat-spinner-32 Default (Linux).sublime-keymap Enable <<>> auto-match for source.erlang only December 10, 2013
Octocat-spinner-32 Default (OSX).sublime-keymap Enable <<>> auto-match for source.erlang only December 10, 2013
Octocat-spinner-32 Default (Windows).sublime-keymap Enable <<>> auto-match for source.erlang only December 10, 2013
Octocat-spinner-32 Delete 2 Characters Left And Right.sublime-macro Auto-match bindings for binaries (<<>>) August 30, 2013
Octocat-spinner-32 Directives.sublime-completions Prevent directive completions from firing in expression context May 22, 2013
Octocat-spinner-32 EScript (Erlang).JSON-tmLanguage Handle spaces in escript shebang line August 27, 2013
Octocat-spinner-32 EScript (Erlang).tmLanguage Handle spaces in escript shebang line August 27, 2013
Octocat-spinner-32 Erlang Expression.JSON-tmLanguage Specialize the error scope for $<space> literals (#27) August 31, 2013
Octocat-spinner-32 Erlang Expression.tmLanguage Specialize the error scope for $<space> literals (#27) August 31, 2013
Octocat-spinner-32 Erlang.JSON-tmLanguage Fix highlighting of integer type ranges one more time July 19, 2013
Octocat-spinner-32 Erlang.sublime-build Make erlc the default compiler for Leex files February 02, 2013
Octocat-spinner-32 Erlang.sublime-settings Add ? to word_separators (fixes #25) August 30, 2013
Octocat-spinner-32 Erlang.tmLanguage Fix highlighting of integer type ranges one more time July 19, 2013
Octocat-spinner-32 Fun-Expression.sublime-snippet Fun snippet expands into single line October 07, 2011
Octocat-spinner-32 Function Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Guard Functions.sublime-completions make guard function completion available in expression guards November 12, 2011
Octocat-spinner-32 HTML (Erlang).tmLanguage init with Erlang Package contents from build 2131 October 07, 2011
Octocat-spinner-32 If-Expression.sublime-snippet init with Erlang Package contents from build 2131 October 07, 2011
Octocat-spinner-32 Indentation Rules.tmPreferences improve indentation rules for '->' and 'after' (closes #1) November 11, 2011
Octocat-spinner-32 Leex (Erlang).JSON-tmLanguage Refactor grammar files May 17, 2013
Octocat-spinner-32 Leex (Erlang).tmLanguage Make Erlang snippets work in Leex and Yecc files January 31, 2013
Octocat-spinner-32 Leex Directives.sublime-completions Add grammar for Leex files (.xrl) January 31, 2013
Octocat-spinner-32 Macro Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Module Definition Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 OTP Application Resource File.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 OTP application Callbacks.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 OTP gen_event Callbacks.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 OTP gen_fsm Callbacks.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 OTP gen_server Callbacks.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 OTP supervisor Callbacks.sublime-snippet Add OTP templates February 05, 2013
Octocat-spinner-32 README.md Advertise auto-match fixes in the README August 30, 2013
Octocat-spinner-32 Receive-Expression.sublime-snippet init with Erlang Package contents from build 2131 October 07, 2011
Octocat-spinner-32 Record Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Special Symbols.sublime-completions Prevent directive completions from firing in expression context May 22, 2013
Octocat-spinner-32 Sublime-Erlang.sublime-project Autoselect JSON grammar compiler May 17, 2013
Octocat-spinner-32 Symbol Overrides.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Try-Expression.sublime-snippet init with Erlang Package contents from build 2131 October 07, 2011
Octocat-spinner-32 Type Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Yecc (Erlang).JSON-tmLanguage Refactor grammar files May 17, 2013
Octocat-spinner-32 Yecc (Erlang).tmLanguage Refactor grammar files May 17, 2013
Octocat-spinner-32 Yecc Directives.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 Yecc Rule Symbols.tmPreferences Make symbol definitions play nice with global indexing January 29, 2013
Octocat-spinner-32 plugin.py Add rebar build system July 23, 2013
Octocat-spinner-32 rebar.sublime-build Add rebar build system July 23, 2013
README.md

Better Erlang Support for Sublime Text

Sublime Text comes with basic support for the Erlang programming language, but most of it is just copied from TextMate and suffers from annoying bugs. This repository contains a much-improved Erlang package.

  • Hand-tuned grammar definitions for Erlang, Leex and Yecc
  • Goto Symbol works correctly
  • Improved auto-match
  • Snippets that make your life easier when writing Erlang code

Build Systems

This package comes with a build system definition for rebar. It runs rebar in the project folder containing the current file.

There is also a build system that runs erlc.

Installation

  • clone this repository into the ST Packages folder
  • remove the Erlang folder inside your ST2 Packages folder or (more elegant) disable the Erlang package in your User Settings file.

This package is not yet available through Package Control. I recommend tracking this repository using Package Control's "Add Repository" command.

Contributing

The syntax files (.tmLanguage) are built from JSON sources using a custom build system. If you modify a grammar, please do so in the JSON file and then regenerate the XML. The XML files should be committed alongside your changes to the JSON source.

You are kindly invited to use the included Sublime Text project file.

To build all grammar files from the command line, run:

build/all.py

Pull requests and issues are welcome.

Something went wrong with that request. Please try again.