Skip to main content

Zed

Contributions to the high performance editor
Zed

Project Links

Zed

My first editor was Atom, and it shaped how I think about developer tooling. Years later, contributing to Zed - built by some of the same people who shaped Atom - feels like a full-circle moment.
I have been using Zed for over a year. The speed is astounding. This contribution journey began while developing an MCP extension for the Arch Linux package server. During extension development, I found a bug in the configuration modal, reported it, and started working on a fix - only to find someone had already submitted a patch. Perks of an active community. Rather than discard the setup effort, I tackled another issue I had personally encountered, and things snowballed from there.
What started as one extension contribution grew into a sustained series of contributions and selection in the Zed Guild program, spanning terminal rendering, the debugger, font infrastructure, Linux platform integration, and the git UI - both features and fixes.

Features

  • Linux Global Menu Bar - Implemented native global menu bar support for Linux (X11 and Wayland) via the D-Bus protocol, enabling desktop environment integration on KDE Plasma, GNOME (with AppIndicator), Unity, and compatible DEs. Involved hooking into GPUI's action system and translating it into D-Bus menu trees at runtime.
    Pull Request #51321
  • Browser / WebView Tab - Prototyped a native browser tab inside Zed using the system webview via
    (Tauri's cross-platform webview library), composited as a native child view within GPUI's window. A proof-of-concept exploring GPUI's compositing model for embedding non-GPU-rendered surfaces.
    Pull Request #52447
  • Buffer Letter Spacing - Threaded a new
    setting through GPUI's text layout, shaping, and platform text backends, and wired it into the editor's rendering and line-wrapping pipeline so layout, hit-testing, and cursor positioning all stay consistent. Revived and extended a previously approved-but-stalled PR.
    Pull Request #53542
  • Pin / Unpin Recent Projects - Added pin and unpin support to the recent projects panel, allowing users to anchor frequently-used workspaces so they persist regardless of recency ordering.
    Pull Request #52103
  • Vim Navigation in Git Graph - Wired up Vim mode navigation (
    ,
    ,
    ,
    ) in the Git Graph view, making it consistent with the rest of Zed's Vim bindings.
    Pull Request #53609
  • Ctrl+Click in Terminal - Implemented interactive terminal output parsing with Ctrl+Click navigation and drag selection, enabling instant file/line jumps from error messages and stack traces.
    Pull Request #42526

Bug Fixes

  • Debugger: Offline Cache - Diagnosed and fixed the debugger failing entirely when Zed runs without network access. The fix ensures the debugger falls back to a locally cached adapter rather than aborting.
    Issue #45781 · Pull Request #50928
  • Debugger: Local Fallback - Fixed the debugger failing to locate a locally installed
    when offline, causing silent breakage for Python debugging workflows. The fix wires in a proper local lookup path.
    Pull Request #51696
  • Linux Auto-Updater Error Surfacing - Previously, missing system dependency failures during auto-update would silently return to idle with no user guidance. Fixed the error path to surface actionable feedback.
    Pull Request #50637
  • Terminal True-Color Rendering - Fixed true-color rendering in the terminal where Zed's APCA contrast adjustment algorithm was washing out explicitly-specified 24-bit colors, overriding what the application had set.
    Pull Request #52162
  • Git Panel: Trash Untracked Files - Fixed a silent failure when trashing untracked files from the git panel while a repository subdirectory (rather than the repo root) was open as the workspace root.
    Pull Request #51161

Bug Reports

  • Launchpad Viewport Shift on Panel Resize - Identified and documented a rendering issue where resizing the terminal panel incorrectly shifts the background Launchpad view, affecting users with workspace restoration enabled.
    Issue #52145
  • Git Graph: Vim Navigation Missing - Reported the absence of Vim mode support in the Git Graph view, which I subsequently fixed.
    Issue #53525
  • Docs Search Bar Keyboard Navigation - Identified a keyboard navigation failure on zed.dev/docs where the search results pane fails to scroll with arrow keys, leaving keyboard-driven users stranded.
    Issue #50604
  • Extension Configuration Modal Scroll - Identified viewport rendering issues in the context server configuration modal affecting scroll behavior and height calculations.
    Issue #42342

Reproduced & Triaged

Reproducing bugs is often the hardest part of fixing them - it verifies that a reported issue is real, environment-independent, and actionable. I reproduced and elaborated on several open issues to help maintainers prioritize and fix them:

Extension

  • Arch Linux MCP Server - Developed a Model Context Protocol extension for the Arch Linux package database, published to the Zed extensions marketplace to enhance AI assistant capabilities within Zed.
    Pull Request #3882