Files
helix/runtime/themes/wolf-alabaster-dark-bg.toml
WolfandGitHub ecf225a290 Update wolf-alabaster themes: distinguish definitions from usages (#15186)
* Update wolf-alabaster themes to distinguish definitions from usages

Changes:
- Differentiate secondary cursors from primary (new cursor-secondary color)
- Don't highlight function calls (function.call, function.method.call = fg)
- Don't highlight builtin function calls (function.builtin = fg)
- Don't highlight type usages (type = fg), only definitions (type.definition)
- Don't highlight namespace usages (namespace = fg)

These changes align with the Alabaster philosophy: only definitions get
color, not usages. See https://tonsky.me/blog/syntax-highlighting/

Works best with query changes from #15185.

* Update wolf-alabaster themes: bracket matching and cursorline

- Use blue + underline for bracket matching (tonsky's original style)
- Distinguish primary cursorline from secondary
2026-07-04 14:57:09 -05:00

65 lines
2.5 KiB
INI

# wolf-alabaster-dark-bg.toml
#
# Author: Wolf <wolf@zv.cx>
# Project: https://github.com/wolf/alabaster-for-helix
#
# This is the dark "BG" (background) variant of Alabaster for Helix.
# Uses background colors for syntax highlighting while keeping text mostly light grey.
#
# Based on tonsky's "Alabaster BG" variant adapted for dark backgrounds.
inherits = "wolf-alabaster-dark"
# SYNTAX HIGHLIGHTING - DARK BG VARIANT
# Override to use BACKGROUND colors instead of text colors
# Text stays light grey, categories distinguished by background
"string" = { fg = "fg", bg = "string-bg" }
"string.regexp" = { fg = "fg", bg = "string-bg" }
"string.special" = { fg = "fg", bg = "string-bg-dark" }
# Constants keep foreground color (same as base)
"constant" = { fg = "constant" }
"constant.numeric" = { fg = "constant" }
"constant.character" = { fg = "constant" }
"constant.builtin" = { fg = "constant" }
"comment" = { fg = "fg", bg = "comment-bg" }
"comment.line" = { fg = "fg", bg = "comment-bg" }
"comment.block" = { fg = "fg", bg = "comment-bg" }
"function" = { fg = "fg", bg = "definition-bg" }
"function.builtin" = { fg = "fg", bg = "definition-bg" }
"function.method" = { fg = "fg", bg = "definition-bg" }
"constructor" = { fg = "fg", bg = "definition-bg" }
"type" = { fg = "fg", bg = "definition-bg" }
"type.builtin" = { fg = "fg", bg = "definition-bg" }
# Special cases
"tag" = { fg = "fg", bg = "definition-bg" }
# MARKUP overrides
"markup.heading" = { fg = "fg", bg = "definition-bg", modifiers = ["bold"] }
"markup.link.url" = { fg = "fg", bg = "string-bg", modifiers = ["underlined"] }
"markup.link.text" = { fg = "fg", bg = "definition-bg" }
"markup.quote" = { fg = "fg", bg = "comment-bg" }
"markup.raw" = { fg = "fg", bg = "string-bg" }
# DIFF overrides
"diff.plus" = { fg = "fg", bg = "string-bg" }
"diff.minus" = { fg = "fg", bg = "error-bg" }
[palette]
# Add background colors for dark BG variant
# Darker, subdued backgrounds that work on dark background
string-bg = "#1F3A1F" # Dark green - strings
string-bg-dark = "#2A4A2A" # Slightly brighter dark green - escape sequences
definition-bg = "#1F2F3F" # Dark blue - definitions
comment-bg = "#3F3F1F" # Dark yellow - comments
error-bg = "#3F1F1F" # Dark red - errors
# Selection colors need to be more visible against colored syntax backgrounds
selection-primary = "#5A8FC7" # Brighter blue - visible against all syntax backgrounds
selection = "#2A4A6F" # Medium dark blue - secondary selections