{ "$schema": "https://zed.dev/schema/themes/v0.2.0.json", "name": "forsakenknight", "author": "ForsakenKnight", "themes": [ { "name": "forsakenknight", "appearance": "dark", "style": { // ── Palette ───────────── // bg = #202325 // keyword = #f8a8a1 (danger-11) // string_ = #9bd0a1 (success-11) // entity = #a0c6e0 (primary-11 — types, func names, packages) // warm = #e5b899 (warning-11 — numbers, params, booleans) // fg = #feffff (tint-12 — variables, brackets) // comment = #787878 (neutral-9) // operator = #bdc1c3 (tint-11) // cursorline= #262d32 (primary-3) // visual = #34495a // linenr = #525252 (neutral-7) // float_bg = #222222 // ── Editor background / foreground ──────────────────────── "background": "#202325", "editor.background": "#202325", "editor.foreground": "#feffff", "editor.line_number": "#525252", "editor.active_line_number": "#e5b899", "editor.active_line.background": "#262d32", "editor.highlighted_line.background": "#262d32", // ── Selection / search ──────────────────────────────────── "editor.selection": "#34495a", "editor.selection.unfocused": "#2b3a47", "search.match_background": "#e5b89940", "editor.find_match_background": "#e5b89940", "editor.find_all_matches_background": "#e5b89920", // ── Cursor ──────────────────────────────────────────────── "editor.cursor": "#a0c6e0", // ── Gutter ──────────────────────────────────────────────── "editor.gutter.background": "#202325", // ── Surfaces / panels ───────────────────────────────────── "surface.background": "#222222", "elevated_surface.background": "#222222", "panel.background": "#1c1f21", "panel.focused_border": "#a0c6e0", "pane.focused_border": "#a0c6e0", // ── Borders ─────────────────────────────────────────────── "border": "#2a2a2a", "border.variant": "#2a2a2a", "border.focused": "#a0c6e0", "border.selected": "#a0c6e0", "border.transparent": "#00000000", "border.disabled": "#333333", // ── UI elements ─────────────────────────────────────────── "element.background": "#202325", "element.hover": "#262d32", "element.active": "#2e3b45", "element.selected": "#34495a", "element.disabled": "#333333", // ── Text ────────────────────────────────────────────────── "text": "#feffff", "text.muted": "#787878", "text.placeholder": "#525252", "text.disabled": "#525252", "text.accent": "#a0c6e0", // ── Icons ───────────────────────────────────────────────── "icon": "#feffff", "icon.muted": "#787878", "icon.disabled": "#525252", "icon.placeholder": "#525252", "icon.accent": "#a0c6e0", // ── Status / title bars ─────────────────────────────────── "status_bar.background": "#333333", "title_bar.background": "#1c1f21", "title_bar.inactive_background": "#1c1f21", "toolbar.background": "#202325", "tab_bar.background": "#252525", "tab.inactive_background": "#252525", "tab.active_background": "#333333", // ── Scrollbar ───────────────────────────────────────────── "scrollbar.thumb.background": "#444444", "scrollbar.thumb.hover_background": "#666666", "scrollbar.thumb.border": "#444444", "scrollbar.track.background": "#202325", "scrollbar.track.border": "#2a2a2a", // ── Popups / autocomplete ───────────────────────────────── "popover.background": "#2d2d2d", "popover.shadow": "#00000066", // ── Diagnostics ─────────────────────────────────────────── "error": "#fb2c36", "error.background": "#fb2c3622", "error.border": "#fb2c36", "warning": "#fe9a00", "warning.background": "#fe9a0022", "warning.border": "#fe9a00", "info": "#a0c6e0", "info.background": "#a0c6e022", "info.border": "#a0c6e0", "hint": "#787878", "hint.background": "#78787822", "hint.border": "#787878", // ── Git ─────────────────────────────────────────────────── "created": "#9bd0a1", "modified": "#e5b899", "deleted": "#fb2c36", "conflict": "#fe9a00", "hidden": "#525252", "ignored": "#525252", "renamed": "#a0c6e0", // ── Terminal ────────────────────────────────────────────── "terminal.background": "#202325", "terminal.foreground": "#feffff", "terminal.bright_foreground": "#feffff", "terminal.dim_foreground": "#787878", "terminal.ansi.black": "#202325", "terminal.ansi.red": "#f8a8a1", "terminal.ansi.green": "#9bd0a1", "terminal.ansi.yellow": "#e5b899", "terminal.ansi.blue": "#a0c6e0", "terminal.ansi.magenta": "#f8a8a1", "terminal.ansi.cyan": "#9bd0a1", "terminal.ansi.white": "#bdc1c3", "terminal.ansi.bright_black": "#525252", "terminal.ansi.bright_red": "#f8a8a1", "terminal.ansi.bright_green": "#9bd0a1", "terminal.ansi.bright_yellow": "#e5b899", "terminal.ansi.bright_blue": "#a0c6e0", "terminal.ansi.bright_magenta": "#f8a8a1", "terminal.ansi.bright_cyan": "#9bd0a1", "terminal.ansi.bright_white": "#feffff", // ── Link ────────────────────────────────────────────────── "link_text.hover": "#a0c6e0", // ───────────────────────────────────────────────────────── // SYNTAX (maps to Tree-sitter captures & LSP tokens) // // Color intent: // keyword #f8a8a1 — control flow, storage, builtins // string_ #9bd0a1 — string content // entity #a0c6e0 — types, func/method names, packages, namespaces // warm #e5b899 — numbers, booleans, constants, parameters, escape seqs // fg #feffff — plain variables, brackets, delimiters // comment #787878 — comments // operator #bdc1c3 — operators // ───────────────────────────────────────────────────────── "syntax": { // ── Comments ──────────────────────────────────────────── "comment": { "color": "#787878" }, "comment.doc": { "color": "#787878" }, // ── Keywords / control flow ───────────────────────────── "keyword": { "color": "#f8a8a1" }, "keyword.control": { "color": "#f8a8a1" }, "keyword.operator": { "color": "#f8a8a1" }, "keyword.function": { "color": "#f8a8a1" }, "keyword.return": { "color": "#f8a8a1" }, "keyword.exception": { "color": "#f8a8a1" }, "keyword.import": { "color": "#f8a8a1" }, "keyword.type": { "color": "#f8a8a1" }, "keyword.modifier": { "color": "#f8a8a1" }, // ── Strings ───────────────────────────────────────────── "string": { "color": "#9bd0a1" }, "string.doc": { "color": "#9bd0a1" }, "string.regex": { "color": "#9bd0a1" }, // Escape sequences and format verbs → warm (mirrors LgwtdEscape / LgwtdFmtVerb) "string.escape": { "color": "#e5b899" }, "string.special": { "color": "#e5b899" }, // ── Numbers / booleans / nil ───────────────────────────── // nil, true, false are remapped to @number in highlights.scm (warm) "number": { "color": "#e5b899" }, "boolean": { "color": "#e5b899" }, // ── Types ──────────────────────────────────────────────── // Includes struct, interface, type aliases, built-in types "type": { "color": "#a0c6e0" }, "type.builtin": { "color": "#f8a8a1" }, // mirrors @type.builtin = keyword "type.enum_member": { "color": "#e5b899" }, // ── Functions / methods ────────────────────────────────── "function": { "color": "#a0c6e0" }, "function.method": { "color": "#a0c6e0" }, "function.builtin": { "color": "#a0c6e0" }, "function.macro": { "color": "#a0c6e0" }, "function.special": { "color": "#a0c6e0" }, // ── Constructors ───────────────────────────────────────── "constructor": { "color": "#a0c6e0" }, // ── Variables ──────────────────────────────────────────── "variable": { "color": "#feffff" }, "variable.builtin": { "color": "#f8a8a1" }, // mirrors @variable.builtin = keyword "variable.parameter": { "color": "#e5b899" }, // mirrors @variable.parameter = warm "variable.member": { "color": "#feffff" }, "variable.special": { "color": "#f8a8a1" }, // ── Constants ──────────────────────────────────────────── "constant": { "color": "#e5b899" }, "constant.builtin": { "color": "#f8a8a1" }, // iota etc → keyword color "constant.macro": { "color": "#a0c6e0" }, // ── Namespaces / packages / modules ────────────────────── "namespace": { "color": "#a0c6e0" }, // ── Properties / fields ─────────────────────────────────── "property": { "color": "#feffff" }, "field": { "color": "#feffff" }, "attribute": { "color": "#e5b899" }, // ── Operators / punctuation ─────────────────────────────── "operator": { "color": "#bdc1c3" }, "punctuation": { "color": "#feffff" }, "punctuation.bracket":{ "color": "#feffff" }, "punctuation.delimiter": { "color": "#feffff" }, "punctuation.special":{ "color": "#feffff" }, "delimiter": { "color": "#feffff" }, // ── Labels ──────────────────────────────────────────────── "label": { "color": "#e5b899" }, // ── Tags (HTML/JSX/XML — unlikely in Go but complete) ───── "tag": { "color": "#a0c6e0" }, "tag.attribute": { "color": "#e5b899" }, "tag.delimiter": { "color": "#feffff" }, // ── Markup ──────────────────────────────────────────────── "link_uri": { "color": "#a0c6e0" }, "link_text": { "color": "#a0c6e0" }, "title": { "color": "#a0c6e0" }, // ── Embedded ───────────────────────────────────────────── "preproc": { "color": "#f8a8a1" } } } } ] }