{"id":13837266,"url":"https://github.com/ostinelli/SublimErl","last_synced_at":"2025-07-10T16:32:34.496Z","repository":{"id":2942970,"uuid":"3955953","full_name":"ostinelli/SublimErl","owner":"ostinelli","description":"An Erlang Plugin for Sublime Text 2, which enables code completion and allows you to run tests within the editor itself.","archived":false,"fork":false,"pushed_at":"2015-10-10T14:27:52.000Z","size":10031,"stargazers_count":190,"open_issues_count":22,"forks_count":44,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-08T05:11:10.797Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ostinelli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-07T05:42:37.000Z","updated_at":"2023-03-10T11:51:14.000Z","dependencies_parsed_at":"2022-08-30T23:01:10.125Z","dependency_job_id":null,"html_url":"https://github.com/ostinelli/SublimErl","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ostinelli/SublimErl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2FSublimErl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2FSublimErl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2FSublimErl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2FSublimErl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ostinelli","download_url":"https://codeload.github.com/ostinelli/SublimErl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ostinelli%2FSublimErl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264608135,"owners_count":23636684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T15:01:04.943Z","updated_at":"2025-07-10T16:32:34.007Z","avatar_url":"https://github.com/ostinelli.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# SublimErl (Erlang Tests \u0026 Code Completion)\n\nOverview\n--------\n\nSublimErl is a plugin for the text editor [Sublime Text 2](http://www.sublimetext.com/2). It allows you to:\n\n* Benefit from **Code Completion** ( all Erlang libs + your current project )\n* Allows you to **Auto-Indent**  your Erlang code\n* Run **Eunit** tests ( all tests for module / single test )\n* Run **Common Tests** ( all tests for module )\n* Run **Dialyzer** tests ( single module )\n* **Goto any exported function** of your project easily\n* Access **man pages** from the text editor\n\nAll within your test editor.\n\nA brief feature introduction video can be seen [here](http://www.youtube.com/watch?v=KIzxbjlHmu0):\n\n[![SublimErl screenshot](http://www.ostinelli.net/_out_images/video.png)](http://www.youtube.com/watch?v=KIzxbjlHmu0)\n\nScreenshots\n-----------\n\nHere's a screenshot of SublimErl's **Code Completion** feature:\n\n![SublimErl screenshot](http://www.ostinelli.net/_out_images/code_completion_full.gif)\n\nHere's a screenshot of SublimErl's **Auto-Indenting** feature:\n\n![SublimErl screenshot](http://www.ostinelli.net/_out_images/indenting.gif)\n\nHere's a screenshot of SublimErl **running an Eunit specific test** in file.\n\n![SublimErl screenshot](http://www.ostinelli.net/_out_images/running_test.jpeg)\n\nUsage\n-----\n\n* **Code Completion**: Just type and select available options\n* **Auto-Indenting**: hit `Command-Option-L` to auto-intent an entire file\n* Run **single Eunit**: position your cursor anywhere **within** your test function and hit `Command-Shift-F8`\n* Run **all Eunit tests** in file: position your cursor **outside** any test function and hit `Command-Shift-F8`\n* Run **all CT tests** in file: view the file and hit `Command-Shift-F8`\n* Run **Dialyzer** on file: view the file and hit `Command-Shift-F9`\n* Re-Run the **previous test**: hit `Command-F8` ( you do not need to be viewing the test to launch it )\n* View **Common Tests results** in browser: hit `Command-Option-F8` (OSX) | `Command-Alt-F8` (Linux/Win)\n* **Goto any exported function** of your project easily: hit `Command-Option-p` (OSX) | `Command-Alt-p` (Linux/Win) and select a function\n* To access **man pages**: hit `Command-Option-i` (OSX) | `Command-Alt-i` (Linux/Win) and select a module\n\nInstallation\n------------\nSublimErl currently supports only on **OSX** and **Linux**. There are 3 ways to install it.\n\n##### 1. Sublime Package Control\nDownload and install the [Sublime Package Control](http://wbond.net/sublime_packages/package_control). This package controller allows you to easily manage your Sublime Text 2 plugins (installs / removals / upgrades).\n\nSublimErl'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.\n\n##### 2. Git Clone\nGo to your Sublime Text 2 `Packages` directory:\n\n* OS X: `~/Library/Application Support/Sublime Text 2/Packages`\n* Linux: `~/.Sublime Text 2/Packages/`\n\nand clone the repository using the command below:\n\n``` shell\ngit clone https://github.com/ostinelli/SublimErl.git\n```\n\n##### 3. File Download\nHead to the [downloads](https://github.com/ostinelli/SublimErl/downloads) section and unzipping the downloaded file into the Sublime Text 2 `Packages` directory.\n\nConfiguration\n-------------\n\nSublimErl 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.\n\nDependencies\n------------\n\nTo use SublimErl, you need to have:\n\n* The editor [Sublime Text 2](http://www.sublimetext.com/2).\n* [Erlang](http://www.erlang.org/download.html) ( ..obviously ^^_ ).\n* Basho's [Rebar](https://github.com/basho/rebar) built after September 13th, 2012 (which has support for the `tests=` option).\n* (optional) [Erlang man pages](http://www.erlang.org/download.html) if you use this functionality.\n\nTo unleash the full power of the plugin, you will also need to comply to:\n\n* OTP standards ( i.e. have your project defined according to [OTP Directory Structure](http://www.erlang.org/doc/design_principles/applications.html#id73730) ).\n* [Rebar's conventions](https://github.com/basho/rebar/wiki/Rebar-and-OTP-conventions).\n\nTL;DR: it basically means to organize your project structure using:\n\n```\n-- myproject\n   |-- ebin\n   |-- src\n       |-- myproject.app.src\n   |-- test\n   |-- ...\n```\n\nor, for example, a more complex project structure defined in rebar.conf:\n\n```\n-- myproject\n   rebar.config\n   |-- apps\n       |-- app1\n       |-- app2\n   |-- deps\n       |-- dep1\n       |-- dep2\n   |-- ...\n```\n\nKnown issues\n------------\n\nWe have had reports that some plugin functionalities experience unwanted behaviour (freezing) with the Erlang precompiled package provided by Erlang Solutions, see [issue #56](https://github.com/ostinelli/SublimErl/issues/56). We're looking into this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2FSublimErl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fostinelli%2FSublimErl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fostinelli%2FSublimErl/lists"}