Skip to content

feat: Replace elixir-ls with Expert, the official Elixir LSP#15513

Open
matthewlehner wants to merge 1 commit intoanomalyco:devfrom
matthewlehner:dev
Open

feat: Replace elixir-ls with Expert, the official Elixir LSP#15513
matthewlehner wants to merge 1 commit intoanomalyco:devfrom
matthewlehner:dev

Conversation

@matthewlehner
Copy link

@matthewlehner matthewlehner commented Mar 1, 2026

Issue for this PR

Closes #15512

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

This updates the Elixir language server to use Expert and adds support for heex files.

How did you verify your code works?

I ran my local version of and did some work in an Elixir repo.

Screenshots / recordings

Here is a screenshot of me running a local version of OpenCode with expert running after opening an elixir file:
image

Here's a screenshot of the process details in Activity Monitor on MacOS:
image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

If you do not follow this template your PR will be automatically rejected.

Expert [1] is the official language server for Elixir, announced
by the Elixir core team and hosted under the elixir-lang GitHub
org. It ships as a pre-compiled binary, so unlike elixir-ls it
no longer requires a local Elixir installation to bootstrap the
LSP, and installs in seconds rather than minutes.

- Replace the ElixirLS server definition with Expert, which
  auto-downloads the latest release from GitHub
- Add .heex (Phoenix HEEx templates) to supported extensions
- Add .heex -> phoenix-heex language mapping
- Update the LSP docs table across all 18 locales

This is a breaking change for users who had "elixir-ls" overrides
in their opencode.json config — they will need to update the key
to "expert".

[1] https://github.com/elixir-lang/expert
    https://expert-lsp.org
@github-actions
Copy link
Contributor

github-actions bot commented Mar 1, 2026

Hey! Your PR title Replace elixir-ls with Expert, the official Elixir LSP doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@matthewlehner matthewlehner changed the title Replace elixir-ls with Expert, the official Elixir LSP feat: Replace elixir-ls with Expert, the official Elixir LSP Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Update Elixir language server to use the Expert, the official language server

1 participant