Skip to content

Add Dexter Language Server support#115

Merged
AlternateRT merged 6 commits intozed-extensions:mainfrom
flowerett:add-dexter-support
Apr 13, 2026
Merged

Add Dexter Language Server support#115
AlternateRT merged 6 commits intozed-extensions:mainfrom
flowerett:add-dexter-support

Conversation

@flowerett
Copy link
Copy Markdown
Contributor

@flowerett flowerett commented Apr 13, 2026

Summary

Add Dexter as another language server in the Elixir extension.

Read more on the Elixir forum.

Dexter is a fast, full-featured Elixir LSP written in Go, optimized for large codebases. It was built by Remote's engineering team to solve performance issues with existing LSP solutions on their 57k-file Elixir monorepo, where traditional approaches took hours to index.
Dexter works by parsing source files directly and storing results in SQLite, requiring no compilation.

Key capabilities & highlights

  • Go-to-definition across modules, functions, types, delegates, and imports
  • Find references, hover docs, autocompletion with snippet support
  • Rename (modules, functions, variables with automatic file renaming)
  • Format on save via persistent Elixir process
  • Monorepo and umbrella project support
  • Cold index ~11s on 57k files, lookups ~10ms, reindex ~2s
  • Supports Elixir and HEEx languages
  • Default command: dexter lsp
  • Platform support: macOS (ARM64), Linux (x86_64, ARM64)

Configuration

{
  "lsp": {
    "dexter": {
      "binary": {
        "path": "/path/to/dexter",
        "arguments": ["lsp"]
      },
      "initialization_options": {
        "followDelegates": true
      }
    }
  }
}

// Enable in language settings:
{
  "languages": {
    "Elixir": {
      "language_servers": ["dexter", "!expert", "..."]
    }
  }
}

Testing

  • Install as dev extension in Zed
  • Check it auto-downloads from GitHub releases (binary at dexter-v0.5.3/dexter_Darwin_arm64/dexter)
  • Check Go-to-definition works via Dexter
  • User settings override for binary path works

  Integrate Dexter (fast go-to-definition for Elixir) as another language server, with automatic binary download from GitHub releases.
@cla-bot cla-bot bot added the cla-signed label Apr 13, 2026
flowerett added a commit to remoteoss/dexter that referenced this pull request Apr 13, 2026
Dexter will be included in Zed's official [Elixir
extension](https://github.com/zed-extensions/elixir) soon -
[PR](zed-extensions/elixir#115)

Updating docs to address it.
Copy link
Copy Markdown
Collaborator

@AlternateRT AlternateRT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! Just a few things to adjust and we should be good to go. Thanks!

 - revert version bump
 - replace separate windows check, handle error via early return
 - add binary_name variable, remove duplications
 - update binary_path
@flowerett
Copy link
Copy Markdown
Contributor Author

@AlternateRT Thanks for the feedback, hope it's all addressed

@flowerett flowerett requested a review from AlternateRT April 13, 2026 13:55
Copy link
Copy Markdown
Collaborator

@AlternateRT AlternateRT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay, everything looks good now. Thanks so much for this great contribution!

@AlternateRT AlternateRT merged commit c6857be into zed-extensions:main Apr 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants