Common Lisp Extension for Zed

Old-school Lisp storms trendy Zed; Emacs loyalists grumble, curious coders cheer

TLDR: Zed now supports Common Lisp with smart autocomplete and a shared live REPL that also works with Jupyter. The community is split: Emacs veterans say 'just use SLIME,' while curious coders celebrate an easier way to try Lisp; expect debates over Jupyter and LSP to continue.

Common Lisp — the old-but-gold language famous for parentheses — just crashed the party in the sleek Zed editor, and commenters are loud. The new extension brings smart, type-aware autocompletion, package labels, and a shared live REPL (a “run-it-now” code box) that syncs with Jupyter. Fans call it “Lisp with training wheels,” cheering hover docs, rainbow brackets, and instant evaluations. One camp says this finally makes Lisp approachable: no arcane setup, just install and go. Another insists Zed feels “buttery” and this is the nudge to try Lisp at last. Early adopters gush that user-defined symbols pop up first, like the tool is reading their minds.

But the drama is spicy. Emacs loyalists fire back: “We already have SLIME/Sly, why reinvent?” Neovim folks pile in with “try a real editor,” while Zed defenders clap back that LSP (a standard that powers code features) and REPL-integration are smoother here. Jupyter tie-in sparked a side feud: some love the shared state across notebooks and files; others say notebooks are for data people, not Lisp wizards. Memes rolled in fast: paren-party GIFs, “rainbow brackets rave,” and “my-utils:: is my new love language.” A pragmatic middle voice shrugs: if it lowers the barrier and keeps Lisp alive, let the parentheses multiply.

Key Points

  • Common Lisp support for Zed includes an integrated LSP server and optional Jupyter REPL integration with a shared Master REPL.
  • Type-aware completions show parameter names and types, prioritize user-defined symbols, and support built-in and user-defined functions.
  • LSP features include tree-sitter syntax highlighting, package-qualified completion, package labels/tooltips, hover docs, and real-time document sync.
  • Jupyter integration enables live, bidirectional sync between Zed and Jupyter kernels, multi-kernel shared state, and auto-reconnect.
  • Installation is via Zed Extensions or dev install; prerequisites include SBCL and Quicklisp, with optional Jupyter/JupyterLab and ZeroMQ.

Hottest takes

"Zed made Lisp feel like it wants me to succeed" — bytebard
"We already have SLIME—stop cosplaying a modern stack" — emacsveteran
"Parentheses are my comfort food; Zed just plated them fancy" — parenparty
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.