August 15th, 2024

The official Elixir Language Server team

The Elixir programming language has formed a Language Server team to enhance code intelligence tools, consolidate existing implementations, and seek community support, with funding from Fly.io and Livebook.

Read original articleLink Icon
The official Elixir Language Server team

The Elixir programming language has officially announced the formation of its Language Server team, which includes Jonatan Kłosko, Łukasz Samson, Mitch Hanberg, and Steve Cohen. This team will enhance the code intelligence infrastructure for various tools and editors, with partial funding from Fly.io and Livebook. The Language Server Protocol (LSP), initially developed by Microsoft, facilitates communication between IDEs and programming languages, and Elixir's implementation has evolved since its inception in 2017. The team aims to consolidate the existing three language server implementations—ElixirLS, Next LS, and Lexical—leveraging their respective strengths to create a unified project. Challenges such as technical debt and the complexities of the LSP are acknowledged, with plans to improve the integration of the Elixir compiler and language server functionalities. The team is also seeking community support and sponsorships to further their development efforts. A new project website and social media presence will be established to keep the community informed about progress and updates.

- The Elixir Language Server team has been formed to improve code intelligence tools.

- The team will consolidate three existing language server implementations into one.

- Funding for the project comes from Fly.io and Livebook.

- The complexities of the Language Server Protocol present ongoing challenges.

- Community support and sponsorships are encouraged to aid development efforts.

Related

Elixir for Humans Who Know Python

Elixir for Humans Who Know Python

The article explores transitioning from Python to Elixir, emphasizing Elixir's concurrency, Phoenix framework, LiveView feature, immutability, and pattern matching. It compares Elixir's functionalism and control flow to Python, showcasing Elixir's efficiency for web development.

What's Coming Next for ESLint

What's Coming Next for ESLint

ESLint is evolving with version 9.0.0 changes like a new config system, rule API, and language plugins for JSON and Markdown. A core rewrite aims to modernize the API and core for better development and integration.

Modern Emacs TypeScript Web Config

Modern Emacs TypeScript Web Config

Setting up modern Emacs config for TypeScript web dev includes lsp-mode, Treesitter, Tailwind, TSX support, multiple LSP servers, Corfu completion, flycheck linter, eslint, Tailwind LSP, lsp-doctor, and Emacs LSP Booster.

Building a Wow Server in Elixir

Building a Wow Server in Elixir

A developer documents building a World of Warcraft private server project, Thistle Tea, with Elixir. Challenges included cryptography, packet handling, and optimization. Utilized MaNGOS data, Shadowburn's code, and Elixir documentation. Implemented player features and database integration. Explored Elixir's benefits in MMO development.

Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024

Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024

In early 2024, the Ruby Language Server Protocol improved code navigation, enhancing features like hover and go-to-definition. Rails addon updates facilitate navigation in models, views, and controllers, with ongoing experimental features.

Link Icon 9 comments
By @bnchrch - 8 months
I'm not sure if there is a better Programming Language community out there?

I would love for someone to point to another group of diverse people who have so consistently gotten things right, in the right ways at the right times.

For Example:

1. The language is both expressive, performant and approachable

2. Its best in class when you have strong concurrency / realtime needs

3. Since 1.0 they've declared Elixir "finished" and committed to making few breaking changes.

4. They've instead pushed energy into other important areas like Language Servers, Typing support, Data science / ML capabilities, embedded systems, etc...

5. And have done so while maintaining an extremely friendly and welcoming community with nearly no drama.

Again would love to know who else is worth of this same amount of praise, but to me Jose Valim, Chris McCord, the rest of the Elixir/Phoenix Core Teams and the Community as a whole is in a league of their own.

By @high_na_euv - 8 months
>making it so every application and its dependencies have to be compiled twice in development: once for Mix and once for the Language Server. Wouldn’t it be nice if Elixir and the Language Servers could all rely on the same compilation artifacts?

>This is not news to the Elixir team either: almost every Elixir release within the last 3 years has shipped new code analysis APIs, such as Code.Fragment, with the goal of removing duplication across Language Servers, IEx, and Livebook, as well as reduce their reliance on internal Elixir modules. Most recently, Elixir v1.17 shipped with new APIs to help developers emulate the compiler behaviour.

It is crazy how many things MS/Roslyn team got right.

They were like decade ahead about their red-green trees, compiler as a service/library instead of .exe

Exposing compiler level things which enabled IDE makers or 3rd party ppl who wanted to create tools

https://ericlippert.com/2012/06/08/red-green-trees/

https://github.com/rust-lang/rust-analyzer/blob/master/docs/...

https://stackoverflow.com/questions/8921782/what-are-the-ben...

By @ralmidani - 8 months
I’ve been using Elixir professionally for a couple of years and honestly, the only area where Elixir is not top-notch is the language server, which runs the risk of alienating folks who hear the hype and want to try it out.

I’m optimistic that LS will finally be done right, and that should help convince those curious about Elixir to stick around and __actually__ use it.

It should also make it easier to sell decision makers on Elixir as a serious language.

By @dns_snek - 8 months
The language server story in Elixir has always been lagging behind other languages, ElixirLS has been workable but nothing to write home about.

I've had some time to use Lexical recently (one of the alternative LS mentioned) and it's considerably snappier compared to ElixirLS, but it didn't have feature-parity, understandably.

This is really great news.

By @stanmancan - 8 months
This is huge news. I love Elixir but the language server situation has been a pain point. Can't wait to have an official LS with the best of the existing options.
By @eclark - 8 months
This is excellent news. It speaks volumes about the engineers and the community that these separate teams are coming together to build a complete, stable solution.
By @lawn - 8 months
Fantastic.

The LSP story is definitely one of Elixirs big weaknesses. Issues with performance, missing autocomplete, not being able to jump to definitions inside macros, are quite annoying to deal with.

By @arrowsmith - 8 months
Great news.