Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Find a file
Petros Amoiridis 81ece4fd44
Deduplicate tab theme related code
We've noticed that the search theme struct had two fields for a tab icon width and spacing. But we already have those in the tab theme struct. We decided to remove the duplicate and reuse the tab fields.

We also wanted to move where the spacing is being used. Instead of doing it at the left of the label, we do it at the right of the icon to match how it is done in other areas of the UI.

Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-02-22 20:28:57 +02:00
.github Enforce rustfmt on CI & clean up some let-else format errors 2023-02-20 13:27:35 -05:00
.vscode Hit the local server when debugging 2021-08-24 17:11:40 -06:00
assets Iterate over keymap then dispatch path when matching keybindings to make precedence more intuitive 2023-02-18 13:10:01 -08:00
crates Deduplicate tab theme related code 2023-02-22 20:28:57 +02:00
plugins Fixed build errors in json_language 2022-08-10 17:50:44 -07:00
script Merge pull request #2196 from zed-industries/open_urls 2023-02-21 15:36:50 -08:00
styles Deduplicate tab theme related code 2023-02-22 20:28:57 +02:00
.dockerignore Removed old experiments settings and staff mode flag, added new StaffMode global that is set based on the webserver's staff bit 2023-01-27 15:43:12 -08:00
.gitignore Removed old experiments settings and staff mode flag, added new StaffMode global that is set based on the webserver's staff bit 2023-01-27 15:43:12 -08:00
.gitmodules WIP: start on live_kit_server 2022-10-17 09:59:16 +02:00
Cargo.lock Merge pull request #2184 from zed-industries/relaunch 2023-02-16 16:50:20 -08:00
Cargo.toml Bump tree-sitter for optimization of querying in range 2023-02-16 12:35:35 -08:00
Dockerfile Abort collaboration process if any thread panics 2023-01-27 09:50:59 +01:00
Procfile Add livekit to the Procfile, update the README 2022-10-27 13:24:35 -07:00
README.md Update README.md 2023-02-16 16:51:57 -08:00

Zed

CI

Welcome to Zed, a lightning-fast, collaborative code editor that makes your dreams come true.

Development tips

Dependencies

  • Install Postgres.app and start it.

  • Install the LiveKit server and the foreman process supervisor:

    brew install livekit
    brew install foreman
    
  • Ensure the Zed.dev website is checked out in a sibling directory:

    cd ..
    git clone https://github.com/zed-industries/zed.dev
    
  • Set up a local zed database and seed it with some initial users:

    script/bootstrap
    

Testing against locally-running servers

Start the web and collab servers:

foreman start

If you want to run Zed pointed at the local servers, you can run:

script/zed-with-local-servers
# or...
script/zed-with-local-servers --release

Dump element JSON

If you trigger cmd-alt-i, Zed will copy a JSON representation of the current window contents to the clipboard. You can paste this in a tool like DJSON to navigate the state of on-screen elements in a structured way.

Licensing

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.

Wasm Plugins

Zed has a Wasm-based plugin runtime which it currently uses to embed plugins. To compile Zed, you'll need to have the wasm32-wasi toolchain installed on your system. To install this toolchain, run:

rustup target add wasm32-wasi

Plugins can be found in the plugins folder in the root. For more information about how plugins work, check the Plugin Guide in crates/plugin_runtime/README.md.