Commit Graph
37 Commits
Author SHA1 Message Date
Mikayla Maki a17155775b Add Zed Feature Process document (#50747)
Release Notes:

- N/A
2026-03-06 14:14:53 -08:00
Lena f9a416fb0e Surface UI checklist in CONTRIBUTING.md (#49013)
Release Notes:

- N/A
2026-02-12 10:08:49 +00:00
Richard FeldmanandAmp 13326b5326 Screenshot testing (#45259)
## Screenshot testing

Adds visual testing infrastructure for GPUI that captures screenshots by
rendering directly to Metal textures. The

The screenshots end up in `target/visual_tests/` and look like this:

<img width="2560" height="1600" alt="workspace_with_editor2"
src="https://github.com/user-attachments/assets/54112343-4af1-4347-9bab-f099de97dd29"
/>
<img width="2560" height="1600" alt="project_panel2"
src="https://github.com/user-attachments/assets/0cd54b61-dace-4398-a28e-0b4d7c2968f6"
/>


### Key Features

- **Direct texture capture**: Screenshots are captured by rendering the
scene to a Metal texture and reading pixels directly from GPU memory,
rather than using ScreenCaptureKit
- **No visibility requirements**: Windows don't need to be visible on
screen since we read directly from the render pipeline
- **Deterministic output**: Captures exactly what GPUI renders, not what
the OS compositor displays
- **No permissions needed**: Doesn't require Screen Recording permission
like ScreenCaptureKit would

### Running the Visual Tests

```bash
# Run visual tests (compares against baselines)
cargo run -p zed --bin visual_test_runner --features visual-tests

# Update baseline images (when UI intentionally changes)
UPDATE_BASELINE=1 cargo run -p zed --bin visual_test_runner --features visual-tests

# View the captured screenshots
open target/visual_tests/
```

### Implementation

- `Window::render_to_image()` - Renders the current scene to a texture
and returns an `RgbaImage`
- `MetalRenderer::render_to_image()` - Core implementation that renders
to a non-framebuffer-only texture
- `VisualTestAppContext` - Test context that uses real macOS platform
rendering
- `VisualTestAppContext::capture_screenshot()` - Synchronous screenshot
capture using direct texture rendering

### Usage

```rust
let mut cx = VisualTestAppContext::new();
let window = cx.open_window(...)?;
let screenshot: RgbaImage = cx.capture_screenshot(window.into())?;
```

Release Notes:

- N/A

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-01-05 16:34:36 -05:00
Daniel Byiringiro 329b4de6f3 docs: Remove reference to outdated curated issues board (#45568)
The documentation referenced a “Curated board of issues” GitHub Project
that no longer exists.
The linked project returns a 404, and only three public projects are
currently available under
zed-industries.

This PR removes the outdated reference. Documentation-only change.

Release Notes:

- N/A
2025-12-23 15:15:58 +00:00
Lena 32d36dfa72 Update contribution ideas and guidelines (#45001)
Release Notes:

- N/A
2025-12-16 16:01:28 +00:00
Kirill Bulatov 75c89a6db3 Mention pure style changes in the contributing docs (#39096)
Release Notes:

- N/A
2025-09-29 11:02:47 +00:00
Marshall Bowers 907dfc533b Format CONTRIBUTING.md (#38073)
This PR formats `CONTRIBUTING.md` using Prettier.

Release Notes:

- N/A
2025-09-12 16:39:54 +00:00
Conrad Irwin d79304470a Update CONTRIBUTING to reflect reality (#38016)
Release Notes:

- N/A
2025-09-12 10:21:02 -06:00
Marco Groot f6e760a32b Fix broken link in CONTRIBUTING.md (#37688)
Can see currently the link is dead currently, but this changes fixes
locally


https://github.com/user-attachments/assets/e01d9c47-e91e-4c24-8285-01e3b45583b9


Release Notes:

- N/A
2025-09-06 12:29:34 +02:00
David Kleingeld f8e5e22c52 Add the Glossary from the channel into Zed (#37360)
This should make it easier for contributors to learn all the terms used
in the Zed code base.

Release Notes:

- N/A
2025-09-02 15:59:58 +00:00
Kirill Bulatov 4add0f5232 Add a "mandatory PR contents" section in the contribution docs (#37259)
The LLM part is inspired by (and paraphrased from)
https://github.com/ghostty-org/ghostty?tab=contributing-ov-file#ai-assistance-notice

Release Notes:

- N/A
2025-08-31 20:56:23 +03:00
Marshall Bowers 8d6c1fdce7 Allow icon themes to provide their own file associations (#24926)
This PR adds the ability for icon themes to provide their own file
associations.

The old `file_types.json` that was previously used to make these
associations has been removed in favor of storing them on the default
theme.

Icon themes have two new fields on them:

- `file_stems`: A mapping of file stems to icon keys.
- `file_suffixes`: A mapping of file suffixes to icon keys.

These mappings produce icon keys which can then be used in `file_icons`
to associate them to a particular icon:

```json
{
  "file_stems": {
    "Makefile": "make"
  },
  "file_suffixes": {
    "idr": "idris"
  },
  "file_icons": {
    "idris": { "path": "./icons/idris.svg" },
    "make": { "path": "./icons/make.svg" }
  }
}
```

When loading an icon theme, the `file_stems` and `file_icons` fields
will be merged with the ones from the base icon theme, with the values
from the icon theme being loaded overriding ones in the base theme.

Release Notes:

- Added the ability for icon themes to provide their own file
associations.
2025-02-15 00:35:13 +00:00
Marshall Bowers 2b5b8df2f8 docs: Add section on file icons to CONTRIBUTING.md (#24905)
This PR adds a section on file icons to the `CONTRIBUTING.md` guide.

Release Notes:

- N/A
2025-02-14 20:40:52 +00:00
João Marcos 7610081a01 Add more info to CONTRIBUTING.md (#24348)
mention the crates:
- `cli`
- `zed`

and add a section for packaging Zed, which links to our website docs

Release Notes:

- N/A
2025-02-06 03:58:21 +00:00
Joseph T. Lyons e5924b8a6b Remove community content from docs and point to zed.dev (#19895)
The community content now lives on zed.dev, discoverable via the navbar
`resources` menu.

See:

- https://github.com/zed-industries/zed.dev/pull/783

Release Notes:

- N/A
2024-10-29 09:44:58 -04:00
Finn Evers cb9c8cc51f Update extension docs link in CONTRIBUTING.md (#17074)
This follows up the changes at
https://github.com/zed-industries/extensions/pull/1318

Should the rewording not be wanted, I can revert that.

Release Notes:

- N/A
2024-08-29 14:27:41 +03:00
Gilles Peiffer 29a8d82676 docs: Fix some typos (#13509)
Minor fixes I came across while reading the docs.

Release Notes:

- N/A
2024-06-25 10:58:11 -04:00
Marshall Bowers bae5be8b87 Remove stray word in CONTRIBUTING.md 2024-04-15 16:30:18 -04:00
Conrad Irwin 08bd1380d3 More vim-like regexes (#10577)
Fixes:  #10539

Release Notes:

- vim: Use `\<` `\>` instead of `\b`
2024-04-15 14:26:05 -06:00
Marshall Bowers e6ca2bd27a Update contributing docs to point to extensions (#10537)
This PR updates the contributing docs to remove an outdated section
about extension support and instead point to the extension authoring
docs.

Release Notes:

- N/A
2024-04-14 19:31:19 -04:00
Conrad Irwin 33dc38084b Make BufferSearch less wide (#10459)
This also adds some "responsiveness" so that UI elements are hidden
before everything has to be occluded

Release Notes:

- Improved search UI. It now works in narrower panes, and avoids
scrolling the editor on open.

<img width="899" alt="Screenshot 2024-04-11 at 21 33 17"
src="https://github.com/zed-industries/zed/assets/94272/44b95d4f-08d6-4c40-a175-0e594402ca01">
<img width="508" alt="Screenshot 2024-04-11 at 21 33 45"
src="https://github.com/zed-industries/zed/assets/94272/baf4638d-427b-43e6-ad67-13d43f0f18a2">
<img width="361" alt="Screenshot 2024-04-11 at 21 34 00"
src="https://github.com/zed-industries/zed/assets/94272/ff60b561-2f77-49c0-9df7-e26227fe9225">
<img width="348" alt="Screenshot 2024-04-11 at 21 37 03"
src="https://github.com/zed-industries/zed/assets/94272/a2a700a2-ce99-41bd-bf47-9b14d7082b0e">
2024-04-11 23:07:29 -06:00
Marshall Bowers ee5c552bb1 Style crate names in CONTRIBUTING.md (#6939)
This PR styles the crate names in `CONTRIBUTING.md` using inline code.

Release Notes:

- N/A
2024-01-28 11:07:37 -05:00
Marshall Bowers cf0f36293a Link to the Zed roadmap in CONTRIBUTING.md (#6937)
This PR updates `CONTRIBUTING.md` to link to the public Zed roadmap.

Release Notes:

- N/A
2024-01-28 10:48:38 -05:00
George Munyoro bf6e41664b Fix grammatical error in contributing guidelines (#6772)
Release Notes:

- N/A
2024-01-26 14:53:03 +02:00
Mikayla 420da536f6 Update contributing 2024-01-25 11:11:28 -08:00
Joseph T. Lyons 1624a5d6b8 Update all links point to community 2024-01-24 15:11:17 -05:00
Nathan Sobo 5039b89725 Revise contributing.md 2024-01-23 11:42:40 -07:00
Mikayla c9dff553af Fix a few more typos 2024-01-17 14:58:58 -08:00
Nate ButlerandJoseph T. Lyons 799e5e6977 Refine MVP CONTRIBUTING.md
Co-Authored-By: Joseph T. Lyons <19867440+JosephTLyons@users.noreply.github.com>
2024-01-17 12:32:08 -05:00
Joseph T. LyonsandJulia bc0e238546 WIP
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2024-01-09 13:41:42 -05:00
Joseph T. Lyons 3aa286a8a3 Add period 2024-01-08 13:25:52 -05:00
Joseph T. LyonsandPiotr Osiewicz d5fb740b68 Add some rough ideas
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
2023-12-18 13:35:07 -05:00
Joseph T. Lyons e4db2e1145 Add notes 2023-12-15 17:18:52 -05:00
Joseph T. Lyons 8f26c2770a Tweak wording 2023-12-15 01:47:59 -05:00
Joseph T. Lyons 8f4b904dba Add some TODOs 2023-12-14 16:10:53 -05:00
Joseph T. Lyons ee35d2ecc6 Tweak wording 2023-12-14 16:04:53 -05:00
Joseph T. Lyons 6d47bfe8c8 Add contributing guide 2023-12-14 15:54:31 -05:00