Ouch My Eyes
Description
Dark theme focused on high contrast. It's available for VSCode (and VSCode-based editors such as Cursor) and Zed, in two variants: classic blue and gray.
Installation
VSCode
Install it here or search for "Ouch My Eyes" on VSCode's extension tab.
Zed
Open the extensions page (zed: extensions on the command palette), search for "Ouch My Eyes" and install it. Then pick "Ouch My Eyes (Classic Blue)" or "Ouch My Eyes (Gray)" with theme selector: toggle.
Editor differences
Each editor highlights code in its own way and allows different levels of customization, so a few tokens may look slightly different between VSCode and Zed (e.g. CSS tag selectors or some built-in functions).
Palette
The primary colors the extension currently uses are:
| Color Name | Color |
|---|---|
| Magenta | |
| Cyan | |
| Green | |
| Yellow | |
| Gray | |
| Background |
The theme might suffer subtle changes as it was just created.
Examples
Example of the theme using TypeScript
Example using Golang
Development
Project structure
themes/: VSCode themes (ouch my eyes-color-theme.jsonis classic blue,ouch my eyes-color-darker-theme.jsonis gray).zed/: Zed extension. Both variants live inzed/themes/ouch-my-eyes.json.
Testing locally
- VSCode: open this repository and press
F5. A new window opens with the extension loaded, so you can select the theme there. - Zed: run
zed: install dev extensionfrom the command palette and select thezed/folder. After editing the theme, click "Rebuild" on the dev extension in the extensions page. To check which highlight a token gets, place the cursor on it and rundev: open highlights tree view.
Keeping both editors in sync
The Zed theme was initially generated from the VSCode themes with Zed's theme importer and then adjusted by hand. Don't regenerate it, or the manual adjustments will be lost. When changing a color, update both themes/ and zed/themes/ouch-my-eyes.json.
Publishing
- VSCode and Open VSX (used by Cursor): bump
versioninpackage.json, thenyarn ship(requiresVSCE_TOKENandOPEN_VSX_TOKEN). New Open VSX versions may take a few minutes to show up. - Zed: bump
versioninzed/extension.toml, push, then open a PR to zed-industries/extensions updating the submodule and the version inextensions.toml.
Enjoy!