From c6bd1cc31565bd03f249245013cc8de97c75b8d2 Mon Sep 17 00:00:00 2001 From: fjord-themes-bot Date: Thu, 19 Mar 2026 22:36:23 +0000 Subject: [PATCH] chore: update theme (fjord-core@9469359) --- themes/fjord.toml | 277 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 themes/fjord.toml diff --git a/themes/fjord.toml b/themes/fjord.toml new file mode 100644 index 0000000..f94d872 --- /dev/null +++ b/themes/fjord.toml @@ -0,0 +1,277 @@ +# Fjord — Helix theme (transparent, WT-aligned) + +############################################################################### +# UI +############################################################################### + +"ui.background" = { fg = "#E8F0F3", bg = "none" } +"ui.background.separator" = { fg = "#233141" } + +# Cursor (primary + color-modes support) +"ui.cursor" = { fg = "#1B2532", bg = "#E8F0F3" } +"ui.cursor.normal" = { fg = "#1B2532", bg = "#E8F0F3" } +"ui.cursor.insert" = { fg = "#1B2532", bg = "#B8E7E9" } +"ui.cursor.select" = { fg = "#1B2532", bg = "#A8A4F8" } +"ui.cursor.match" = { fg = "#D4CC7A", modifiers = ["bold"] } + +"ui.cursor.primary" = { fg = "#1B2532", bg = "#E8F0F3" } +"ui.cursor.primary.normal" = { fg = "#1B2532", bg = "#E8F0F3" } +"ui.cursor.primary.insert" = { fg = "#1B2532", bg = "#B8E7E9" } +"ui.cursor.primary.select" = { fg = "#1B2532", bg = "#A8A4F8" } + +# Gutter / line numbers +"ui.gutter" = { fg = "#6C7A86", bg = "none" } +"ui.gutter.selected" = { fg = "#5DA6EA", bg = "none", modifiers = ["bold"] } +"ui.linenr" = { fg = "#6C7A86", bg = "none" } +"ui.linenr.selected" = { fg = "#5DA6EA", bg = "none", modifiers = ["bold"] } + +# Statusline (includes color-modes variants) +"ui.statusline" = { fg = "#E8F0F3", bg = "#1F2A39" } +"ui.statusline.inactive" = { fg = "#6C7A86", bg = "#1F2A39" } +"ui.statusline.normal" = { fg = "#1B2532", bg = "#5DA6EA", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "#1B2532", bg = "#9DD99A", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "#1B2532", bg = "#A8A4F8", modifiers = ["bold"] } +"ui.statusline.separator"= { fg = "#233141" } + +# Bufferline +"ui.bufferline" = { fg = "#E8F0F3", bg = "#1F2A39" } +"ui.bufferline.active" = { fg = "#5DA6EA", bg = "#1B2532", underline = { color = "#5DA6EA", style = "line" } } +"ui.bufferline.background" = { bg = "#1B2532" } + +# Popup, Window, Help +"ui.popup" = { fg = "#E8F0F3", bg = "#1F2A39" } +"ui.popup.info" = { fg = "#E8F0F3", bg = "#1F2A39" } +"ui.popup.border"= { fg = "#5DA6EA" } +"ui.window" = { fg = "#233141" } +"ui.help" = { fg = "#6C7A86", bg = "#1F2A39" } + +# Menus +"ui.menu" = { fg = "#E8F0F3", bg = "#1F2A39" } +"ui.menu.selected" = { fg = "#1B2532", bg = "#5DA6EA", modifiers = ["bold"] } +"ui.menu.scroll" = { fg = "#5DA6EA", bg = "#233141" } + +# Text (generic UI text states) +"ui.text" = "#E8F0F3" +"ui.text.focus" = { fg = "#E8F0F3", bg = "#1F2A39", modifiers = ["bold"] } +"ui.text.inactive" = { fg = "#51606B" } +"ui.text.info" = { fg = "#5DA6EA" } +"ui.text.directory" = { fg = "#5DA6EA" } + +# Virtuals / guides / hints +"ui.virtual.ruler" = { bg = "#2D3D52" } +"ui.virtual.whitespace" = { fg = "#51606B" } +"ui.virtual.indent-guide" = { fg = "#51606B" } +"ui.virtual.wrap" = { fg = "#51606B" } +"ui.virtual.inlay-hint" = { fg = "#51606B", bg = "#1F2A39" } +"ui.virtual.inlay-hint.parameter"= { fg = "#B8E7E9", bg = "#1F2A39" } +"ui.virtual.inlay-hint.type" = { fg = "#5DA6EA", bg = "#1F2A39" } +"ui.virtual.jump-label" = { fg = "#D4CC7A", modifiers = ["bold"] } # reserved pop color + +# Picker header + columns +"ui.picker.header" = { fg = "#E8F0F3", bg = "#1F2A39", modifiers = ["bold"] } +"ui.picker.header.column" = { fg = "#6C7A86", bg = "#1F2A39" } +"ui.picker.header.column.active" = { fg = "#5DA6EA", bg = "#1F2A39", modifiers = ["bold"] } + +# Selection & highlight (WT parity: amber selection) +"ui.selection" = { bg = "#B8E7E9", fg = "#1B2532" } +"ui.selection.primary" = { bg = "#B8E7E9", fg = "#1B2532" } +"ui.highlight" = { bg = "#233141" } +"ui.highlight.frameline" = { fg = "#C8B860", bg = "#1F2A39", modifiers = ["bold"] } + +# Cursorline / column — subtle, opaque +"ui.cursorline.primary" = { bg = "#1F2A39" } +"ui.cursorline.secondary" = { bg = "none" } +"ui.cursorcolumn.primary" = { bg = "#1F2A39" } +"ui.cursorcolumn.secondary" = { bg = "none" } + +# Search +"ui.search" = { fg = "#1B2532", bg = "#B8E7E9" } +"ui.search.current" = { fg = "#1B2532", bg = "#D4CC7A" } + +# Diagnostics +"warning" = { fg = "#C8B860" } +"error" = { fg = "#F37C7C" } +"info" = { fg = "#B8E7E9" } +"hint" = { fg = "#5DA6EA" } + +"diagnostic" = { underline = { style = "curl", color = "#51606B" } } +"diagnostic.hint" = { underline = { style = "curl", color = "#5DA6EA" } } +"diagnostic.info" = { underline = { style = "curl", color = "#B8E7E9" } } +"diagnostic.warning" = { underline = { style = "curl", color = "#C8B860" } } +"diagnostic.error" = { underline = { style = "curl", color = "#F37C7C" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } + +# Snippet tabstops +"tabstop" = { fg = "#1B2532", bg = "#B8E7E9" } + +############################################################################### +# Syntax (Tree-sitter) +############################################################################### + +# Readability rules: +# - Functions → cyan +# - Types → blue (builtin brighter) +# - Escapes → cyan +# - Purple minimized (kept for rare/important) + +"attribute" = { fg = "#B8E7E9" } +"attribute.builtin" = { fg = "#B8E7E9" } + +"decorator" = { fg = "#C8CCF7" } + +"type" = { fg = "#5DA6EA" } +"type.builtin" = { fg = "#7BB8FF" } +"type.parameter" = { fg = "#5DA6EA" } +"type.enum" = { fg = "#5DA6EA" } +"type.enum.variant" = { fg = "#5DA6EA" } + +"constructor" = { fg = "#5DA6EA" } + +"constant" = { fg = "#7BB8FF" } +"constant.builtin" = { fg = "#7BB8FF" } +"constant.boolean" = { fg = "#7BB8FF" } +"constant.character" = { fg = "#B8E7E9" } +"constant.character.escape" = { fg = "#B8E7E9" } +"constant.numeric" = { fg = "#7BB8FF" } +"constant.numeric.integer" = { fg = "#7BB8FF" } +"constant.numeric.float" = { fg = "#7BB8FF" } + +"string" = { fg = "#9DD99A" } +"string.regex" = { fg = "#B8E7E9" } +"string.special" = { fg = "#5DA6EA" } +"string.special.path" = { fg = "#5DA6EA" } +"string.special.url" = { fg = "#5DA6EA", modifiers = ["underlined"] } +"string.special.symbol" = { fg = "#F37C7C" } + +"comment" = { fg = "#6C7A86", modifiers = ["italic"] } +"comment.line" = { fg = "#6C7A86", modifiers = ["italic"] } +"comment.line.documentation" = { fg = "#6C7A86", modifiers = ["italic"] } +"comment.block" = { fg = "#6C7A86", modifiers = ["italic"] } +"comment.block.documentation" = { fg = "#6C7A86", modifiers = ["italic"] } +"comment.unused" = { fg = "#6C7A86", modifiers = ["italic", "dim"] } + +"variable" = { fg = "#E8F0F3" } +"variable.builtin" = { fg = "#B8E7E9" } +"variable.parameter" = { fg = "#E8F0F3" } +"variable.other.member" = { fg = "#B8E7E9" } +"variable.other.member.private" = { fg = "#B8E7E9" } + +"label" = { fg = "#C8CCF7", modifiers = ["bold"] } + +# Operators & punctuation — explicit families so '=' et al. never disappear +"operator" = { fg = "#7BB8FF" } +"operator.assign" = { fg = "#7BB8FF" } +"operator.arithmetic" = { fg = "#7BB8FF" } +"operator.bitwise" = { fg = "#7BB8FF" } +"operator.logical" = { fg = "#7BB8FF" } +"operator.comparison" = { fg = "#7BB8FF" } +"operator.ternary" = { fg = "#7BB8FF" } + +"punctuation" = { fg = "#E8F0F3" } +"punctuation.delimiter" = { fg = "#E8F0F3" } +"punctuation.bracket" = { fg = "#E8F0F3" } +"punctuation.special" = { fg = "#B8E7E9" } + +# Keywords +"keyword" = { fg = "#5DA6EA" } +"keyword.control" = { fg = "#7BB8FF" } +"keyword.control.conditional" = { fg = "#7BB8FF" } +"keyword.control.repeat" = { fg = "#7BB8FF" } +"keyword.control.import" = { fg = "#7BB8FF" } +"keyword.control.return" = { fg = "#7BB8FF" } +"keyword.control.exception" = { fg = "#7BB8FF" } +"keyword.operator" = { fg = "#7BB8FF" } # for grammars that classify '=' here +"keyword.directive" = { fg = "#7BB8FF" } +"keyword.function" = { fg = "#5DA6EA" } +"keyword.storage" = { fg = "#9DD99A" } +"keyword.storage.type" = { fg = "#9DD99A" } +"keyword.storage.modifier" = { fg = "#9DD99A" } + +# Functions → cyan +"function" = { fg = "#B8E7E9" } +"function.builtin" = { fg = "#B8E7E9" } +"function.method" = { fg = "#B8E7E9" } +"function.method.private" = { fg = "#B8E7E9" } +"function.macro" = { fg = "#C8CCF7" } +"function.special" = { fg = "#B8E7E9" } + +"tag" = { fg = "#5DA6EA" } +"tag.builtin"= { fg = "#5DA6EA" } + +"namespace" = { fg = "#5DA6EA" } +"special" = { fg = "#5DA6EA" } + +# Markup +"markup.heading" = { fg = "#5DA6EA", modifiers = ["bold"] } +"markup.heading.1" = { fg = "#F37C7C", modifiers = ["bold"] } +"markup.heading.2" = { fg = "#D4CC7A", modifiers = ["bold"] } +"markup.heading.3" = { fg = "#C8B860", modifiers = ["bold"] } +"markup.heading.4" = { fg = "#9DD99A", modifiers = ["bold"] } +"markup.heading.5" = { fg = "#5DA6EA", modifiers = ["bold"] } +"markup.heading.6" = { fg = "#C8CCF7", modifiers = ["bold"] } +"markup.marker" = { fg = "#51606B" } +"markup.list" = { fg = "#B8E7E9" } +"markup.list.unchecked" = { fg = "#51606B" } +"markup.list.checked" = { fg = "#9DD99A" } +"markup.bold" = { modifiers = ["bold"] } +"markup.italic" = { modifiers = ["italic"] } +"markup.strikethrough" = { modifiers = ["crossed_out"] } +"markup.link" = { fg = "#5DA6EA" } +"markup.link.url" = { fg = "#5DA6EA", modifiers = ["underlined"] } +"markup.link.label"= { fg = "#C8CCF7" } +"markup.link.text" = { fg = "#5DA6EA" } +"markup.quote" = { fg = "#C8CCF7" } +"markup.raw" = { fg = "#9DD99A" } +"markup.raw.inline"= { fg = "#9DD99A" } +"markup.raw.block" = { fg = "#9DD99A" } + +# Diff +"diff.plus" = { fg = "#9DD99A" } +"diff.plus.gutter" = { fg = "#9DD99A" } +"diff.minus" = { fg = "#F37C7C" } +"diff.minus.gutter" = { fg = "#F37C7C" } +"diff.delta" = { fg = "#5DA6EA" } +"diff.delta.moved" = { fg = "#C8CCF7" } +"diff.conflict" = { fg = "#D4CC7A", modifiers = ["bold"] } +"diff.delta.gutter" = { fg = "#5DA6EA" } + +############################################################################### +# Palette (Fjord — Windows Terminal aligned) +############################################################################### + +[palette] +# Base & UI +base = "#1B2532" # used for non-transparent surfaces +base_ = "#1F2A39" # subtle overlay for cursorline (opaque) +surface = "#1F2A39" # panels, popups, statusline base +line = "#233141" # separators +selection = "#2D3D52" # generic highlight block (not used for text selection) + +# Text +fg = "#E8F0F3" +dim_fg = "#6C7A86" +muted = "#51606B" + +# Accents (from your WT scheme) +red = "#F37C7C" +orange = "#D4CC7A" # used for search.current contrast (pairs with yellow selection) +yellow = "#C8B860" # AMBER (WT selection, functions) +green = "#9DD99A" # cursor / insert statusline +purple = "#A8A4F8" +cyan = "#B8E7E9" +blue = "#5DA6EA" + +# Brights (for jump labels / emphasis, and parity with ANSI brights) +b_black = "#212128" +b_red = "#FF9B9B" +b_green = "#A3D5A0" +b_yellow = "#D4CC7A" +b_blue = "#7BB8FF" +b_purple = "#C8CCF7" +b_cyan = "#A1E9DE" +b_white = "#EFFAFF" + +# UI helpers +ruler = "#2D3D52" +cursorline_dim = "#1F2A39" # very close to base, subtle & opaque