whatisgithub

What is lexical?

zoedsoupe/lexical — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2024-03-31

Audience · developerComplexity · 3/5DormantSetup · moderate

In one sentence

Lexical is a language server for Elixir that gives editors like VS Code and Neovim auto-completion, instant error checking, and go-to-definition.

Mindmap

mindmap
  root((repo))
    What it does
      Auto-completion
      Instant error checking
      Go to definition
    Tech stack
      Elixir
      Two isolated VMs
    Use cases
      Get smarter editor completions
      Catch errors as you type
      Format Elixir code
    Audience
      Elixir developers
    Design
      Isolated project VM
      Context-aware suggestions

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Get auto-completion and instant error checking while writing Elixir code

USE CASE 2

Jump straight to a function's definition from your editor

USE CASE 3

Format Elixir code automatically as part of your editor workflow

USE CASE 4

Work on an older Elixir codebase while still using a modern language server

What is it built with?

Elixir

How does it compare?

zoedsoupe/lexical0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2024-03-312022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires installing the language server and configuring your editor to use it via LSP.

So what is it?

Lexical is a language server for Elixir developers, think of it as a smart assistant that runs in the background of your code editor and helps you write code faster and catch mistakes earlier. It powers features like auto-completion, instant error checking, code formatting, and the ability to jump to a function's definition with a click. The key thing that makes Lexical different is how it's built. Instead of running all its code in one process, it actually starts two separate virtual machines that talk to each other. One runs Lexical itself, and the other runs your project code in isolation. This separation means Lexical can use any dependencies it needs without conflicting with your project's own dependencies, so you could even use Lexical to work on a project that Lexical itself depends on, without everything falling apart. It also means your project can use an older version of Elixir than Lexical does, which gives it flexibility to support older codebases while staying current. Because your code runs in its own isolated environment, Lexical can compile and check your code as you type, showing you errors immediately rather than forcing you to save first. The completions it offers are also smarter than you'd find in a typical language server. If you type alias MyModule.|, you'll only see module names, not function names. Inside a struct reference like %MyStruct.|, you'll only see modules that actually define structs. This context-aware approach means less noise and more relevant suggestions. The project is designed to be easy for other developers to contribute to, with clear separation between the language server and project code, consistent data models, and good test coverage. If you're an Elixir developer using an editor like VS Code or Neovim, installing Lexical gives you a modern development experience with many of the conveniences you'd expect from tools in other ecosystems.

Copy-paste prompts

Prompt 1
Explain how Lexical's two-VM architecture keeps its own dependencies separate from my project's dependencies.
Prompt 2
Help me install and configure Lexical as the language server in VS Code or Neovim.
Prompt 3
Show me why Lexical only suggests module names after typing 'alias MyModule.' instead of function names.
Prompt 4
Walk me through how Lexical checks my Elixir code for errors as I type, before I save the file.

Frequently asked questions

What is lexical?

Lexical is a language server for Elixir that gives editors like VS Code and Neovim auto-completion, instant error checking, and go-to-definition.

Is lexical actively maintained?

Dormant — no commits in 2+ years (last push 2024-03-31).

How hard is lexical to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is lexical for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.