# Automatically adjust ANSI color contrast \(\#34033\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/9b7632d5f6621e2fd188b1b2b04b386a9e7b7746)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 9b7632d5f6621e2fd188b1b2b04b386a9e7b7746

Requested commit: 9b7632d5f6621e2fd188b1b2b04b386a9e7b7746

Commit: 9b7632d5f6621e2fd188b1b2b04b386a9e7b7746

Tree: 738e11b402e89c91982dd664f76ce7e66da8bb73

Author: Richard Feldman

Committer: GitHub

## Message

```
Automatically adjust ANSI color contrast (#34033)

Closes #33253 in a way that doesn't regress #32175 - namely,
automatically adjusts the contrast between the foreground and background
text in the terminal such that it's above a certain threshold. The
threshold is configurable in settings, and can be set to 0 to turn off
this feature and use exactly the colors the theme specifies even if they
are illegible.

## One Light Theme Before
<img width="220" alt="Screenshot 2025-07-07 at 6 00 47 PM"
src="https://github.com/user-attachments/assets/096754a6-f79f-4fea-a86e-cb7b8ff45d60"
/>

(Last row is highlighted because otherwise the text is unreadable; the
foreground and background are the same color.)

## One Light Theme After

(This is with the new default contrast adjustment setting.)

<img width="215" alt="Screenshot 2025-07-07 at 6 22 02 PM"
src="https://github.com/user-attachments/assets/b082fefe-76f5-4231-b704-ff387983a3cb"
/>

This approach was inspired by @mitchellh's use of automatic contrast
adjustment in [Ghostty](https://ghostty.org/) - thanks, Mitchell! The
main difference is that we're using APCA's formula instead of WCAG for
[these
reasons](https://khan-tw.medium.com/wcag2-are-you-still-using-it-ui-contrast-visibility-standard-readability-contrast-f34eb73e89ee).

Release Notes:

- Added automatic dynamic contrast adjustment for terminal foreground
and background colors
```

## Parents

- [877ef5e1b1fcfeabe8cdd203239d2738a0991f19](https://git.cafe/gitcafe/zed/commit/877ef5e1b1fcfeabe8cdd203239d2738a0991f19?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/9b7632d5f6621e2fd188b1b2b04b386a9e7b7746?format=markdown)
