summaryrefslogtreecommitdiff
path: root/vendor/themes/wolf-alabaster-light.toml
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/themes/wolf-alabaster-light.toml')
-rw-r--r--vendor/themes/wolf-alabaster-light.toml169
1 files changed, 169 insertions, 0 deletions
diff --git a/vendor/themes/wolf-alabaster-light.toml b/vendor/themes/wolf-alabaster-light.toml
new file mode 100644
index 00000000..6e1f041f
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-light.toml
@@ -0,0 +1,169 @@
+# wolf-alabaster-light.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+# Download: https://raw.githubusercontent.com/wolf/alabaster-for-helix/main/helix/dot-config/helix/themes/wolf-alabaster-light.toml
+#
+# This is a light-background theme especically for the Helix editor.
+#
+# The most important part here is the syntax stuff, but the theme includes UI stuff specifically for Helix, as well.
+#
+# What I care about is:
+# * Readable syntax, no matter the language
+# * The error messages provided by the LSP
+# * Anything special needed to make the UI non-surprising
+# * Building a minimal definition
+#
+# I started from a couple important sources:
+# * The [priorities and ideas](https://tonsky.me/blog/syntax-highlighting/) behind the Alabaster Theme (which exists for many editors) by Nikita Prokopov
+# * His [actual repo implementing the theme](https://github.com/tonsky/sublime-scheme-alabaster)
+# * A [theme template](https://github.com/joegm/helix-theme-template) on GitHub provided by joegm
+
+# I don't consider this to be done! I absolutely want feedback. I absolutely will continue to tinker.
+
+# GENERAL - Diagnostics (LSP errors/warnings)
+warning = { fg = "highlight" }
+error = { fg = "error-red", modifiers = ["bold"] }
+info = { fg = "definition" }
+hint = { fg = "punctuation" }
+diagnostic = { underline = { style = "curl" } }
+
+# UI - Interface elements
+"ui.background" = { bg = "bg" }
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "active", modifiers = ["bold"] }
+
+"ui.cursor" = { bg = "active", fg = "bg" }
+"ui.cursor.primary" = { bg = "active", fg = "bg" }
+"ui.cursor.match" = { bg = "highlight" }
+"ui.cursorline" = { bg = "cursorline" }
+"ui.cursorcolumn" = { bg = "cursorline" }
+
+"ui.gutter" = { bg = "bg" }
+
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection-primary" }
+
+"ui.linenr" = { fg = "punctuation" }
+"ui.linenr.selected" = { fg = "active", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "fg", bg = "panel" }
+"ui.statusline.inactive" = { fg = "punctuation", bg = "panel" }
+
+# Bufferline - make active buffer clearly visible (like onelight-fixed-bufferline)
+"ui.bufferline.active" = { fg = "fg", bg = "bg", modifiers = ["bold"] }
+"ui.bufferline.background" = { bg = "bg" }
+"ui.bufferline" = { fg = "punctuation", bg = "panel" }
+
+"ui.menu" = { fg = "fg", bg = "panel" }
+"ui.menu.selected" = { fg = "bg", bg = "active" }
+
+"ui.popup" = { fg = "fg", bg = "panel" }
+"ui.popup.info" = { fg = "fg", bg = "panel" }
+"ui.window" = { fg = "punctuation" }
+"ui.help" = { fg = "fg", bg = "bg" }
+
+# Jump labels - extremely visible
+"ui.virtual.jump-label" = { fg = "jump-label", modifiers = ["bold"] }
+
+# Virtual text (inlay hints, etc.) - dimmed type color
+"ui.virtual" = { fg = "inlay-hint" }
+"ui.virtual.inlay-hint" = { fg = "inlay-hint" }
+"ui.virtual.ruler" = { bg = "cursorline" }
+
+# LSP diagnostic inline/expanded text
+"diagnostic.error" = { underline = { color = "error-red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "highlight", style = "curl" } }
+"diagnostic.info" = { underline = { color = "definition", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "punctuation", style = "curl" } }
+"diagnostic.deprecated" = { fg = "punctuation", modifiers = ["crossed_out"] }
+
+# SYNTAX HIGHLIGHTING - Following Alabaster's minimal approach
+# Only 4 categories get color: strings, constants, comments, definitions
+# Everything else (keywords, variables, calls) stays default fg
+
+"string" = { fg = "string" }
+"string.regexp" = { fg = "string" }
+"string.special" = { fg = "string" }
+
+"constant" = { fg = "constant" }
+"constant.numeric" = { fg = "constant" }
+"constant.character" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+
+"comment" = { fg = "comment" }
+"comment.line" = { fg = "comment" }
+"comment.block" = { fg = "comment" }
+
+"function" = { fg = "definition" }
+"function.builtin" = { fg = "definition" }
+"function.method" = { fg = "definition" }
+
+"constructor" = { fg = "definition" }
+"type" = { fg = "definition" }
+"type.builtin" = { fg = "definition" }
+
+# These are NOT highlighted (Alabaster philosophy: keywords are obvious)
+"keyword" = { fg = "fg" }
+"keyword.control" = { fg = "fg" }
+"keyword.operator" = { fg = "fg" }
+"variable" = { fg = "fg" }
+"variable.parameter" = { fg = "fg" }
+"variable.builtin" = { fg = "fg" }
+
+# Punctuation is dimmed
+"punctuation" = { fg = "punctuation" }
+"punctuation.bracket" = { fg = "punctuation" }
+"punctuation.delimiter" = { fg = "punctuation" }
+
+"operator" = { fg = "punctuation" }
+
+# Special cases
+"tag" = { fg = "definition" }
+"tag.error" = { fg = "error-red", underline = { style = "line" } }
+"attribute" = { fg = "fg" }
+"namespace" = { fg = "definition" }
+"label" = { fg = "constant" }
+
+# MARKUP - For markdown/documentation
+"markup.heading" = { fg = "definition", modifiers = ["bold"] }
+"markup.list" = { fg = "fg" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "string", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "definition" }
+"markup.quote" = { fg = "comment" }
+"markup.raw" = { fg = "string" }
+
+# DIFF - Version control
+"diff.plus" = { fg = "string" }
+"diff.minus" = { fg = "error-red" }
+"diff.delta" = { fg = "highlight" }
+
+[palette]
+# Core colors (Alabaster-inspired)
+fg = "#000000" # Main text (Alabaster uses pure black)
+bg = "#F7F7F7" # Background (Alabaster's light grey)
+
+# The 4 semantic colors
+string = "#448C27" # Green - strings & numbers
+constant = "#7A3E9D" # Magenta - constants, booleans
+comment = "#AA3731" # Red - comments (important!)
+definition = "#325CC0" # Blue - function/class definitions
+
+# Supporting colors
+punctuation = "#777777" # Grey - dimmed operators/brackets
+selection = "#DDE7ED" # Light gray-blue - secondary selections (subtle but distinct)
+selection-primary = "#BFDBFE" # Light blue - primary selection (original Alabaster)
+active = "#007ACC" # Bright blue - cursor, active elements
+highlight = "#FFBC5D" # Orange - search, warnings
+error-red = "#AA3731" # Red - errors
+panel = "#EEEEEE" # Darker grey - UI panels, menus, popups
+cursorline = "#EFEFEF" # Subtle highlight - cursorline, ruler
+jump-label = "#FF4500" # Bright orange-red - jump destinations
+inlay-hint = "#8090B8" # Dimmed blue - virtual text (type hints)
+
+# Diff colors
+diff-green = "#448C27" # Green - additions (same as string)
+diff-red = "#AA3731" # Red - deletions (same as error-red)
+diff-orange = "#FFBC5D" # Orange - changes (same as highlight)