📈 GH Trending Explorer 🎲 Surprise me

← all repos

elixir-lsp / elixir-ls

git clone https://github.com/elixir-lsp/elixir-ls.git v0.31.1 · 4mo ago 🔥 on GitHub Trending today

A frontend-independent IDE "smartness" server for Elixir. Implements the "Language Server Protocol" standard and provides debugger support via the "Debug Adapter Protocol"

+0
stars, 24h · #616
+1
stars, 7 days · #1,639
+3
stars, 30 days · #10,057
1.8k
★ total · +0% this week
229
forks · 52 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageElixir
LicenseApache-2.0
Created2018-03-25 (8y ago)
Last push1d ago
Watchers30
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #7 daily in elixir
  • 2026-10-20 — #6 monthly in elixir · +3 ★
  • 2026-10-20 — #8 weekly in elixir · +1 ★

GitHub topics

Links

README excerpt
# ElixirLS - Elixir Language Server and Debug Adapter
ElixirLS provides two components: a language server driving code intelligence and a debug adapter that allows step-through debugging of Elixir projects. The language server adheres to the Language Server Protocol, and the debug adapter implements the Debug Adapter Protocol.
## This is the main elixir-ls repo
This repo is a community-maintained fork. The original repository JakeBecker/elixir-ls has now been deprecated in favor of this one.
## Features
- Debugger support
- Automatic, incremental Dialyzer analysis
- Automatic inline suggestion of @specs based on Dialyzer's inferred success typings
- Inline reporting of build warnings and errors
- Documentation lookup on hover
- Go-to-definition
- Code completion
- Code formatter
- Find references to functions and modules (Thanks to @mattbaker)
- Quick symbol lookup in file (Thanks to @mattbaker)
- Quick symbol lookup in workspace and stdlib (both Elixir and erlang) (@lukaszsamson)
Note: On its first run, Dialyzer will build a PLT cache. This will take a considerable amount of CPU time (usually 10+ minutes). After that is complete, the CPU usage will go back to normal. Alternatively, instead of waiting you can disable Dialyzer in the settings.
## IDE plugins
| IDE | Plugin | Support |
| ------------ | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| BBEdit | bbpackage | |
| Emacs | eglot | |
| Emacs | lsp-mode | Supports debug adapter via dap-mode |
| Kakoune | kak-lsp | Limitations |
| Kate | built-in LSP Client plugin | Does not support debug adapter |
| Neovim | coc.nvim | Does not support debug adapter |
| Neovim | nvim-dap | Supports debug adapter only |
| Neovim | nvim-lspconfig | Does not support debug adapter |
| Nova | nova-elixir-ls | |
| Sublime Text | LSP-elixir | Does not support debug adapter |
| Vim/Neovim | ALE | Does not support debug adapter or @spec suggestions |
| Vim/Neovim | elixir-lsp/coc-elixir | Does not support debug adapter |
| Vim/Neovim | vim-lsp | Does not support debug adapter |
| VS Code | elixir-lsp/vscode-elixir-ls | Supports all ElixirLS features |
| Helix | elixir-lsp | Supports all ElixirLS features |
| Zed | elixir language support | Supports all ElixirLS features |
Please feel free to create and publish your own client packages and add them to this list!
## Detailed Installation Instructions
The installation process for ElixirLS depends on your editor.
 VSCode 
Please install the extension via the following link: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
 Emacs Installation Instructions 
Download the
latest release and unzip it into a
directory. (This is the directory referred to as the `"path-to-elixir-ls/release"`, below.)
If you will be using `lsp-mode`, add this configuration:
 [code] 
For `eglot`, use:
 [code] 
If you access any projects via sym