Skip to content

pekeler/fzed

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37,623 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FZed

CI

FZed is a fork of Zed focused on adding first-class Fossil SCM support while keeping the fork close enough to upstream Zed to continue merging upstream changes.

Fork-Specific Documentation

Upstream Tracking Policy

FZed tracks upstream Zed release tags, not upstream main.

The fork should be rebased or merged forward when Zed publishes a new release tag, then FZed-specific commits should be replayed and tested on top of that release. Between upstream releases, avoid pulling daily upstream main commits unless a specific fix is needed and is intentionally cherry-picked.

Before each upstream merge, review FZed Upstream Differences. It lists the intentional fork differences that should be preserved while resolving conflicts.

Current upstream baseline: v1.2.3.

Versioning

FZed versions are derived from the upstream Zed release tag they are based on:

  • If the upstream tag is vX.Y.Z, the first FZed release based on that tag is X.Y.Z-fzed.0.
  • If FZed publishes fork-only follow-up releases without changing the upstream base tag, increment the suffix: X.Y.Z-fzed.1, X.Y.Z-fzed.2, and so on.
  • When FZed moves to a newer upstream Zed release tag, reset the suffix to fzed.0 for that upstream version.

Use the prerelease suffix, not build metadata, so fork-only follow-ups sort in release order. FZed update checks must compare only against FZed releases, not against upstream Zed releases.

Current Development Build

The Cargo package is still named zed to reduce upstream merge churn, but the fork's local development binary is named fzed.

Build it with:

cargo build -p zed

Run the latest local debug build with:

target/debug/fzed

Build an optimized local binary with:

CARGO_INCREMENTAL=0 cargo build -p zed --release

Run the optimized binary with:

target/release/fzed

On macOS, build a distributable .app bundle and .dmg with:

script/bundle-mac

The bundled app/DMG is written under target/<target-triple>/release/. Local builds are ad-hoc signed unless the Apple signing and notarization environment variables expected by script/bundle-mac are configured.

Settings And Data

FZed uses separate global/user settings and application data from upstream Zed:

  • user settings: ~/.config/fzed/settings.json
  • global settings: ~/.config/fzed/global_settings.json
  • keymap, tasks, and themes: under ~/.config/fzed/
  • data, database, extensions, languages, and debug adapters: ~/Library/Application Support/fzed/
  • logs: ~/Library/Logs/fzed/fzed.log
  • cache/temp data: ~/Library/Caches/fzed/
  • debug-build credentials: ~/.config/fzed/development_credentials
  • production keychain credentials: namespaced as FZed entries, not shared with upstream Zed

Project settings are intentionally still shared with Zed for now:

  • project settings: .zed/settings.json
  • project tasks: .zed/tasks.json
  • project debug config: .zed/debug.json

This keeps repository-local editor metadata compatible with upstream Zed and with existing projects. A future .fzed/ project settings layer can be added if FZed-only project configuration becomes necessary.

The --user-data-dir <DIR> CLI option overrides the default FZed user data locations for a single run.

Expected First-Run Debug Logs

Debug builds are more verbose than packaged release builds. These messages are expected during local development:

  • sqlez::migrations ...: local database setup or schema checks
  • Debug assertions enabled, skipping hang monitoring: normal debug build
  • Minidump endpoint not set: no crash-upload endpoint is configured
  • Couldn't find any enabled panel for the Left dock: harmless layout state
  • extension installation/index rebuild messages: normal first-run extension setup

Original Zed README

Zed

Zed CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

On macOS, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).

Other platforms are not yet available:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.

Sponsorship

Zed is developed by Zed Industries, Inc., a for-profit company.

If you’d like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.

About

Zed with support for Fossil

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 97.7%
  • Inno Setup 0.4%
  • Python 0.4%
  • Tree-sitter Query 0.4%
  • Shell 0.3%
  • WGSL 0.1%
  • Other 0.7%