Nezteb
Comparing Elixir language servers: ElixirLS, Lexical, and Next LS
I frequently switch between ElixirLS, Lexical, and Next LS in order to test each out and compare/contrast. I decided to create a brief feature comparison matrix with some of my findings: Elixir Language Server Comparisons · GitHub
I reached out to some authors and devs familiar with each tool in order to be as fair as possible. Each of these tools is a large undertaking and takes tons of time and effort from the maintainers. A simple 2D comparison table can’t tell the whole story, so take it with a grain of salt. I’ll be doing my best to maintain and update the list as tooling evolves and adds/changes functionality. ![]()
Most Liked
tcoopman
That’s really cool. One thing I think none of the language servers support right now is working inside liveview sigils, things like go to definition, hover,…
That’s something that might be useful to track as well?
mhanberg
Thanks for putting that together!
kwando
Oh yes, go to definition on HEEX components would be magical ![]()
mhanberg
That works, but it starts up an Elixir LS instance for each project.
With “workspace folders” support (which is what is meant by “monorepo support”), the editor will boot up a single language server instance to handle all of the projects.
lukaszsamson
ElixirLS works with VSCode multi-root workspaces but the support for that is implemented in VSCode extension. It currently starts separate language server processes in each workspace directory. I’m not aware if multi-root workspaces are supported in other editor extensions wrapping ElixirLS







