├── .gitignore ├── public ├── logo.png └── screenshots │ ├── example.png │ └── unidentified.png ├── .github └── FUNDING.yml ├── extension.toml ├── LICENSE ├── README.md └── themes └── xy-zed.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zarifpour/xy-zed/HEAD/public/logo.png -------------------------------------------------------------------------------- /public/screenshots/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zarifpour/xy-zed/HEAD/public/screenshots/example.png -------------------------------------------------------------------------------- /public/screenshots/unidentified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zarifpour/xy-zed/HEAD/public/screenshots/unidentified.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: zarifpour 4 | buy_me_a_coffee: zarifpour 5 | -------------------------------------------------------------------------------- /extension.toml: -------------------------------------------------------------------------------- 1 | id = "xy-zed" 2 | name = "XY-Zed Theme" 3 | version = "0.1.1" 4 | schema_version = 1 5 | authors = ["Daniel Zarifpour "] 6 | description = "🐈‍⬛ A sleek and sophisticated dark theme with vibrant, intelligent syntax highlighting. Please report issues ➩" 7 | repository = "https://github.com/zarifpour/xy-zed" 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Daniel Zarifpour 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 | XY-Zed logo 4 |
5 | 6 | --- 7 | 8 | ![XY-Zed Theme Showcase](public/screenshots/example.png) 9 | 10 |
11 | 12 | | buffer_font_family | ui_font_family | 13 | |---|---| 14 | | [Ligalex Mono](https://github.com/ToxicFrog/Ligaturizer) | [BlexMono Nerd Font](https://www.nerdfonts.com/font-downloads) | 15 | 16 |
17 | 18 | ## 🎯 Designed for Zed 19 | 20 | Welcome to the XY-Zed theme for [Zed](https://zed.dev), a gorgeous dark theme designed with sensible syntax colors to enhance your coding experience. 21 | 22 | XY-Zed is a meticulously crafted dark theme for Zed, aimed at improving readability and reducing eye strain during long coding sessions. The theme features sensible syntax colors, making it easier to write and review code. Please note that this theme is still in development and may not be perfect. Feedback and contributions are always appreciated. 23 | 24 | > [!Note] 25 | > Elements that have not been identified are intentionally colored in bright red to make them more visible. If you come across any such elements, please assist by reporting them to the GitHub repository. Include a screenshot for clarity. 26 | > 27 | > Color of an unidentified element: ![Unidentified Element](public/screenshots/unidentified.png) 28 | 29 | ## 🚨 Reporting Issues 30 | 31 | Feedback and issue reports are encouraged. If you encounter any problems or have suggestions for improvement, please report them on our GitHub repository: 32 | 33 | [XY-Zed Issues](https://github.com/zarifpour/xy-zed/issues) 34 | 35 | Please include as much detail as possible, such as screenshots, text samples, and steps to reproduce the issue. 36 | 37 | --- 38 | 39 |
40 | 41 | Made with 💚 by Daniel Zarifpour 42 | 43 | 44 |
45 | -------------------------------------------------------------------------------- /themes/xy-zed.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://zed.dev/schema/themes/v0.1.0.json", 3 | "name": "XY-Zed", 4 | "author": "Daniel Zarifpour ", 5 | "themes": [ 6 | { 7 | "name": "XY-Zed", 8 | "appearance": "dark", 9 | "style": { 10 | "border": "#ffffff20", // white (very transparent) 11 | "border.variant": "#ffffff20", // white (very transparent) 12 | "border.focused": "#FF0000", // ? 13 | "border.selected": "#FF0000", // ? 14 | // "border.transparent": "#00000000", 15 | "border.transparent": "#FF0000", 16 | "border.disabled": "#FF0000", // ? 17 | "elevated_surface.background": "#1b1b1b", // black (secondary) 18 | "surface.background": "#1b1b1b", // black (secondary) 19 | "background": "#121212", // black (primary) 20 | "element.background": "#1b1b1b", // black (secondary) 21 | "element.hover": "#7de48620", // green (lightest transparent) 22 | "element.active": "#7de48635", // green (mid transparent) 23 | "element.selected": "#7de48650", // green (darkest transparent) 24 | "element.disabled": "#FF0000", // ? 25 | "drop_target.background": "#7de48620", 26 | "ghost_element.background": "#00000000", 27 | "ghost_element.hover": "#7de48620", // green (lightest transparent) 28 | "ghost_element.active": "#7de48635", // green (mid transparent) 29 | "ghost_element.selected": "#7de48650", // green (darkest transparent) 30 | "ghost_element.disabled": "#FF0000", // ? 31 | "text": "#f7f7f8ff", // white 32 | "text.muted": "#aca8aeff", 33 | "text.placeholder": "#6b6b73ff", // greyed out 34 | "text.disabled": "#6b6b73ff", // greyed out 35 | "text.accent": "#7de486ff", // green (accent) 36 | "icon": "#f7f7f8ff", // white 37 | "icon.muted": "#FF0000", 38 | "icon.disabled": "#6b6b73ff", // greyed out 39 | "icon.placeholder": "#FF0000", // ? 40 | "icon.accent": "#FF0000", // ? 41 | "status_bar.background": "#0a0a0a", // black (tertiary) 42 | "title_bar.background": "#0a0a0a", // black (tertiary) 43 | "toolbar.background": "#121212", // black (primary) 44 | "tab_bar.background": "#1b1b1b", // black (secondary) 45 | "tab.inactive_background": "#1b1b1b", // black (secondary) 46 | "tab.active_background": "#121212", // black (primary) 47 | "search.match_background": "#975c3250", 48 | "panel.background": "#1b1b1b", // black (secondary) 49 | // "panel.focused_border": null, 50 | "panel.focused_border": "FF0000", // ? 51 | "scrollbar.thumb.background": "#aca8ae30", // muted transparent 52 | "scrollbar.thumb.hover_background": "#FF0000", // ? 53 | "scrollbar.thumb.border": "#ffffff20", // white (very transparent) 54 | "scrollbar.track.background": "#1b1b1b80", // black (scondary, darkest transparent) 55 | "scrollbar.track.border": "#ffffff10", // white (lightest transparent) 56 | "editor.foreground": "#f7f7f8ff", // white 57 | "editor.background": "#121212", // black (primary) 58 | "editor.gutter.background": "#121212", // black (primary) 59 | "editor.subheader.background": "#1b1b1b", // black (secondary) e.g., search headings 60 | "editor.active_line.background": "#7de48610", // green (lightest transparent) 61 | "editor.highlighted_line.background": "#FFD09750", // complement for baby blue e.g., for find all references // not perfect 62 | "editor.line_number": "#3b3b3b", // grey (faded) 63 | "editor.active_line_number": "#7de486ff", // green (accent) 64 | "editor.invisible": "#f7f7f810", 65 | "editor.wrap_guide": "#FF0000", // ? 66 | "editor.active_wrap_guide": "#ffffff20", // white (very transparent) 67 | "editor.document_highlight.read_background": "#7de48625", // green (darker transparent) 68 | "editor.document_highlight.write_background": "#7de48670", // green (darkest transparent) 69 | "terminal.background": "#121212", // black (primary) 70 | "terminal.foreground": "#f7f7f8ff", // white 71 | "terminal.bright_foreground": "#f7f7f8ff", // white 72 | "terminal.dim_foreground": "#1e2025ff", 73 | "terminal.ansi.black": "#1e2025ff", 74 | "terminal.ansi.bright_black": "#40434cff", 75 | "terminal.ansi.dim_black": "#f7f7f8ff", // white 76 | "terminal.ansi.red": "#f82871ff", 77 | "terminal.ansi.bright_red": "#8e0f3aff", 78 | "terminal.ansi.dim_red": "#ffa3b5ff", 79 | "terminal.ansi.green": "#96df71ff", 80 | "terminal.ansi.bright_green": "#457c38ff", 81 | "terminal.ansi.dim_green": "#cef0b9ff", 82 | "terminal.ansi.yellow": "#fee56cff", 83 | "terminal.ansi.bright_yellow": "#958334ff", 84 | "terminal.ansi.dim_yellow": "#fef1b7ff", 85 | "terminal.ansi.blue": "#10a793ff", 86 | "terminal.ansi.bright_blue": "#1a5148ff", 87 | "terminal.ansi.dim_blue": "#9cd4c7ff", 88 | "terminal.ansi.magenta": "#c74cecff", 89 | "terminal.ansi.bright_magenta": "#682681ff", 90 | "terminal.ansi.dim_magenta": "#e7abf7ff", 91 | "terminal.ansi.cyan": "#08e7c5ff", 92 | "terminal.ansi.bright_cyan": "#008169ff", 93 | "terminal.ansi.dim_cyan": "#a9f4e1ff", 94 | "terminal.ansi.white": "#f7f7f8ff", // white 95 | "terminal.ansi.bright_white": "#f7f7f8ff", // white 96 | "terminal.ansi.dim_white": "#87858cff", 97 | "link_text.hover": "#2f81f7ff", // blue (darker) 98 | "conflict": "#fee56cff", 99 | "conflict.background": "#5c5014ff", 100 | "conflict.border": "#796b26ff", 101 | "created": "#96df71ff", 102 | "created.background": "#184618ff", 103 | "created.border": "#306129ff", 104 | "deleted": "#f82871ff", 105 | "deleted.background": "#54051bff", 106 | "deleted.border": "#72092aff", 107 | "error": "#f82871ff", 108 | "error.background": "#54051bff", 109 | "error.border": "#72092aff", 110 | "hidden": "#6b6b73ff", // greyed out 111 | "hidden.background": "#262933ff", 112 | "hidden.border": "#292d37ff", 113 | "hint": "#618399ff", 114 | "hint.background": "#12231fff", 115 | "hint.border": "#183934ff", 116 | "ignored": "#aca8aeff", 117 | "ignored.background": "#262933ff", 118 | "ignored.border": "#2b2f38ff", 119 | "info": "#10a793ff", 120 | "info.background": "#12231fff", 121 | "info.border": "#183934ff", 122 | "modified": "#fee56cff", 123 | "modified.background": "#5c5014ff", 124 | "modified.border": "#796b26ff", 125 | "predictive": "#525252ff", 126 | "predictive.background": "#184618ff", 127 | "predictive.border": "#306129ff", 128 | "renamed": "#10a793ff", 129 | "renamed.background": "#12231fff", 130 | "renamed.border": "#183934ff", 131 | "success": "#96df71ff", 132 | "success.background": "#184618ff", 133 | "success.border": "#306129ff", 134 | "unreachable": "#aca8aeff", 135 | "unreachable.background": "#262933ff", 136 | "unreachable.border": "#2b2f38ff", 137 | "warning": "#fee56cff", 138 | "warning.background": "#5c5014ff", 139 | "warning.border": "#796b26ff", 140 | "players": [ 141 | { 142 | "cursor": "#7de486ff", // green (accent) 143 | "background": "#7de486ff", // green (accent) 144 | "selection": "#7de4863d" // green (selection) 145 | }, 146 | { 147 | "cursor": "#be5046ff", 148 | "background": "#be5046ff", 149 | "selection": "#be50463d" 150 | }, 151 | { 152 | "cursor": "#bf956aff", 153 | "background": "#bf956aff", 154 | "selection": "#bf956a3d" 155 | }, 156 | { 157 | "cursor": "#b477cfff", 158 | "background": "#b477cfff", 159 | "selection": "#b477cf3d" 160 | }, 161 | { 162 | "cursor": "#6eb4bfff", 163 | "background": "#6eb4bfff", 164 | "selection": "#6eb4bf3d" 165 | }, 166 | { 167 | "cursor": "#d07277ff", 168 | "background": "#d07277ff", 169 | "selection": "#d072773d" 170 | }, 171 | { 172 | "cursor": "#dec184ff", 173 | "background": "#dec184ff", 174 | "selection": "#dec1843d" 175 | }, 176 | { 177 | "cursor": "#c181abff", 178 | "background": "#c181abff", 179 | "selection": "#c181ab3d" 180 | } 181 | ], 182 | "syntax": { 183 | "attribute": { 184 | "color": "#4788CCff", // deep blue 185 | "font_style": "italic", 186 | "font_weight": null 187 | }, 188 | "boolean": { 189 | "color": "#22c942ff", // neon green 190 | "font_style": "italic", 191 | "font_weight": null 192 | }, 193 | "comment": { 194 | "color": "#6A9955ff", // green 195 | "font_style": null, 196 | "font_weight": null 197 | }, 198 | "comment.doc": { 199 | "color": "#6A9955ff", // green 200 | "font_style": null, 201 | "font_weight": null 202 | }, 203 | "constant": { 204 | "color": "#FF5858ff", // red (pastel) 205 | "font_style": null, 206 | "font_weight": 600 207 | }, 208 | "constructor": { 209 | "color": "#FF5858ff", // red (pastel) 210 | "font_style": null, 211 | "font_weight": null 212 | }, 213 | "embedded": { 214 | "color": "#4788CCff", // deep blue 215 | "font_style": null, 216 | "font_weight": null 217 | }, 218 | "emphasis": { 219 | "color": "#85b8ffff", // blue (lighter) 220 | "font_style": "italic", 221 | "font_weight": null 222 | }, 223 | "emphasis.strong": { 224 | "color": "#85b8ffff", // blue (lighter) 225 | "font_style": null, 226 | "font_weight": 700 227 | }, 228 | "enum": { 229 | "color": "#FF0000", // ? 230 | "font_style": null, 231 | "font_weight": null 232 | }, 233 | "function": { 234 | "color": "#DCDCAAff", // yellow (light) 235 | "font_style": null, 236 | "font_weight": null 237 | }, 238 | "hint": { 239 | "color": "#FF0000", // ? 240 | "font_style": null, 241 | "font_weight": 700 242 | }, 243 | "keyword": { 244 | "color": "#c678ddff", // purple 245 | "font_style": null, 246 | "font_weight": null 247 | }, 248 | "label": { 249 | "color": "#FF0000", // ? 250 | "font_style": null, 251 | "font_weight": null 252 | }, 253 | "link_text": { 254 | "color": "#85b8ffff", // blue (lighter) 255 | "font_style": "italic", 256 | "font_weight": null 257 | }, 258 | "link_uri": { 259 | "color": "#2f81f7ff", // blue (darker) 260 | "font_style": null, 261 | "font_weight": null 262 | }, 263 | "number": { 264 | "color": "#B4CDA8ff", // green (light) 265 | "font_style": null, 266 | "font_weight": null 267 | }, 268 | "operator": { 269 | "color": "#FFFF00ff", // yellow 270 | "font_style": null, 271 | "font_weight": null 272 | }, 273 | "predictive": { 274 | "color": "#315f70ff", // grey (faded) 275 | "font_style": "italic", 276 | "font_weight": null 277 | }, 278 | "preproc": { 279 | "color": "#FF0000", // ? 280 | "font_style": null, 281 | "font_weight": null 282 | }, 283 | "primary": { 284 | "color": "#f7f7f8ff", // white 285 | "font_style": null, 286 | "font_weight": null 287 | }, 288 | "property": { 289 | "color": "#9cdcfeff", // baby blue 290 | "font_style": null, 291 | "font_weight": null 292 | }, 293 | "punctuation": { 294 | "color": "#FF0000", // ? 295 | "font_style": null, 296 | "font_weight": null 297 | }, 298 | "punctuation.bracket": { 299 | // "color": "#FFFF00ff", // yellow 300 | "color": "#DCDCAAff", // yellow (light) 301 | "font_style": null, 302 | "font_weight": null 303 | }, 304 | "punctuation.delimiter": { 305 | "color": "#DCDCAAff", // yellow (light) 306 | "font_style": null, 307 | "font_weight": null 308 | }, 309 | "punctuation.list_marker": { 310 | // .md list 311 | "color": "#85b8ffff", // blue (lighter) 312 | "font_style": null, 313 | "font_weight": null 314 | }, 315 | "punctuation.special": { 316 | // in strings 317 | "color": "#4788CCff", // deep blue 318 | "font_style": null, 319 | "font_weight": null 320 | }, 321 | "string": { 322 | "color": "#CD9069ff", // orange 323 | "font_style": null, 324 | "font_weight": null 325 | }, 326 | "string.escape": { 327 | "color": "#4788CCff", // deep blue 328 | "font_style": null, 329 | "font_weight": null 330 | }, 331 | "string.regex": { 332 | "color": "#FF5858ff", // red (pastel) 333 | "font_style": null, 334 | "font_weight": null 335 | }, 336 | "string.special": { 337 | "color": "#FF5858ff", // red (pastel) 338 | "font_style": null, 339 | "font_weight": null 340 | }, 341 | "string.special.symbol": { 342 | "color": "#7ce184ff", // green (light neon) 343 | "font_style": null, 344 | "font_weight": null 345 | }, 346 | "tag": { 347 | "color": "#7ce184ff", // green (light neon) 348 | "font_style": null, 349 | "font_weight": null 350 | }, 351 | "text.literal": { 352 | // .md code 353 | "color": "#FF5858ff", // red (pastel) 354 | "font_style": null, 355 | "font_weight": null 356 | }, 357 | "title": { 358 | // .md 359 | "color": "#85b8ffff", // blue (lighter) 360 | "font_style": null, 361 | "font_weight": 700 362 | }, 363 | "type": { 364 | "color": "#08e7c5ff", // cyan 365 | "font_style": null, 366 | "font_weight": null 367 | }, 368 | "variable": { 369 | "color": "#4cc2fbff", // bold blue 370 | "font_style": null, 371 | "font_weight": 600 372 | }, 373 | "variant": { 374 | "color": "#FF0000", // ? 375 | "font_style": null, 376 | "font_weight": null 377 | }, 378 | "include": { 379 | "color": "#c678ddff", // purple 380 | "font_style": null, 381 | "font_weight": null 382 | } 383 | } 384 | } 385 | } 386 | ] 387 | } 388 | --------------------------------------------------------------------------------