Home

Awesome

Elixir Package for BBEdit

Provides BBEdit Language support for Elixir. This package requires BBEdit 11 or higher; it has only been tested with BBEdit 14.

Features

Installation

The easy way

Download the release version of the package with elixir-ls included, and double-click Elixir.bbpackage.

The less easy way

  1. Clone the repository to Elixir.bbpackage:

    git clone https://github.com/chipotle/bbedit-elixir.git Elixir.bbpackage

  2. Download a current compiled release of elixir-ls from the release page:

    https://github.com/elixir-lsp/elixir-ls/releases

  3. Unzip that release into a Language Servers subdirectory of the Contents subdirectory of the BBEdit package.

  4. Now double-click Elixir.bbpackage.

Configuration

In the Languages panel of BBEdit's Preferences, you can check the Elixir package's defaults and make any changes.

Defaults (should be configured "out of the box"):

The package can use different versions of elixir-ls if they are installed by setting the "Server Command" command path in BBEdit's Language Preference pane. The path should point to the language_server.sh file of the desired installation.

Recommendations:

BBEdit's codeless language modules don't support extending/embedding existing languages, so Elixir code inside EEX templates isn't highlighted.

Language server features

Caveats

The provided clippings and server-offered completions occasionally overlap (e.g., def, function). BBEdit shows clippings first, and you should generally prefer them.

While "Find Symbol in Workspace" is enabled, it generally jumps to Erlang code deep in Elixir's internal libraries rather than anywhere in the workspace. I suspect this is a misfeature on the elixir-ls side, not the BBEdit side.

Version history

VersionRelease dateNotes
1.2.32023-12-17Regex bug fix for 1.2.2 (Erik Rose)
1.2.22023-12-15Elixir 1.15, elixir-ls 0.17.10, bug fixes
1.2.12022-12-31Elixir 1.14, elixir-ls 0.12.0
1.2.02022-10-10Elixir 1.14, elixir-ls 0.11.0
1.1.02022-01-14Elixir 1.13, elixir-ls 0.9.0
1.0.22021-07-25add keywords, tweak comment regex
1.0.12021-07-21initial release for Elixir 1.12, elixir-ls 0.7.0

Credits

The language server is from the elixir-lsp project. This package was inspired by an earlier package, elixir_bbedit, by David H. Clements.