Skip to content

Theme Token Reference

Quick reference for all SilkCircuit theme tokens.

What Are Theme Tokens?

Theme tokens are semantic color names that adapt to different theme variants. Instead of hardcoding colors, Git-Iris uses tokens like accent.primary that map to colors in the active theme.

Available Themes

ThemeVariantDescription
silkcircuit-neonDarkElectric purple and neon cyan (default)
silkcircuit-softDarkMuted, gentle tones
silkcircuit-glowDarkVibrant glowing accents
silkcircuit-vibrantDarkHigh saturation colors
silkcircuit-dawnLightWarm pastel palette

Using Themes

bash
# List available themes
git-iris themes

# Set theme in config
git-iris config --theme silkcircuit-glow

# Override for one session
git-iris studio --theme silkcircuit-vibrant

Token Categories

Text Tokens

TokenPurposeDefault (Neon)
text.primaryPrimary text#f8f8f2
text.secondarySecondary text#bcbcca
text.mutedDe-emphasized text#82879f
text.dimVery subtle text#6e7daf

Background Tokens

TokenPurposeDefault (Neon)
bg.baseMain background#121218
bg.panelPanel background#181820
bg.codeCode block background#1e1e28
bg.highlightHighlighted areas#37324b
bg.elevatedRaised surfaces#37324b
bg.activeActive/focused state#3c2d55
bg.selectionSelected items#3c3c50

Accent Tokens

TokenPurposeDefault (Neon)
accent.primaryPrimary brand color#e135ff (Electric Purple)
accent.secondarySecondary brand color#80ffea (Neon Cyan)
accent.tertiaryTertiary brand color#ff6ac1 (Coral)
accent.deepDeep accent#bd93f9 (Purple 400)

Semantic Tokens

TokenPurposeDefault (Neon)
successSuccess states#50fa7b (Green)
errorError states#ff6363 (Red)
warningWarning states#f1fa8c (Yellow)
infoInformation#80ffea (Cyan)

Git Status Tokens

TokenPurposeDefault (Neon)
git.stagedStaged files#50fa7b (Green)
git.modifiedModified files#f1fa8c (Yellow)
git.untrackedUntracked files#6e7daf (Gray)
git.deletedDeleted files#ff6363 (Red)

Diff Tokens

TokenPurposeDefault (Neon)
diff.addedAdded lines#50fa7b (Green)
diff.removedRemoved lines#ff6363 (Red)
diff.hunkHunk headers#80ffea (Cyan)
diff.contextContext lines#6e7daf (Gray)

Border Tokens

TokenPurposeDefault (Neon)
border.focusedFocused panel border#80ffea (Cyan)
border.unfocusedUnfocused panel border#82879f (Gray)

Code Highlighting Tokens

TokenPurposeDefault (Neon)
code.hashCommit hashes#ff6ac1 (Coral)
code.pathFile paths#80ffea (Cyan)
code.keywordKeywords#e135ff (Purple)
code.functionFunction names#80ffea (Cyan)
code.stringString literals#ff99ff (Pink)
code.numberNumbers#ff6ac1 (Coral)
code.commentComments#6e7daf (Gray)
code.typeType names#f1fa8c (Yellow)
code.line_numberLine numbers#6e7daf (Gray)

Mode Tokens

TokenPurposeDefault (Neon)
mode.activeActive mode tab#e135ff (Purple)
mode.inactiveInactive mode tabs#6e7daf (Gray)
mode.hoverHovered mode tab#80ffea (Cyan)

Chat Tokens

TokenPurposeDefault (Neon)
chat.userUser messages#80ffea (Cyan)
chat.irisIris messages#e135ff (Purple)

Style Tokens

Styles combine colors with modifiers (bold, italic, etc.).

Common Styles

StyleDescription
keywordKeywords (bold, primary accent)
file_pathFile paths (secondary accent)
file_path_boldFile paths (bold)
commit_hashCommit hashes (coral)
line_numberLine numbers (dim)
cursor_lineCurrent line highlight
selectedSelected item
active_selectedActive selected item (bold)
focused_borderFocused panel border
unfocused_borderUnfocused panel border
success_styleSuccess messages
error_styleError messages
warning_styleWarning messages
info_styleInfo messages
dimmedDimmed text
mutedMuted text
inline_codeInline code blocks
mode_activeActive mode tab (bold)
mode_inactiveInactive mode tab
mode_hoverHovered mode tab
git_stagedStaged file
git_modifiedModified file
git_untrackedUntracked file
git_deletedDeleted file
diff_addedAdded diff lines
diff_removedRemoved diff lines
diff_hunkDiff hunk headers
diff_contextDiff context lines
authorAuthor names
timestampTimestamps

Gradient Tokens

Gradients interpolate between colors. Access with gradient(name, t) where t is 0.0-1.0.

GradientColorsPurpose
primaryPurple → CyanBrand gradient
warmCoral → YellowWarm accents
success_gradientGreen → CyanSuccess transitions
error_gradientRed → CoralError transitions
auroraPurple → Pink → Cyan5-stop aurora effect

Color Values by Theme

SilkCircuit Neon (Default)

TokenHexRGB
accent.primary#e135ff225, 53, 255
accent.secondary#80ffea128, 255, 234
accent.tertiary#ff6ac1255, 106, 193
success#50fa7b80, 250, 123
error#ff6363255, 99, 99
warning#f1fa8c241, 250, 140
text.primary#f8f8f2248, 248, 242
bg.base#12121818, 18, 24

SilkCircuit Soft

Muted variant with lower saturation for extended use.

SilkCircuit Glow

Enhanced brightness with glowing accent colors.

SilkCircuit Vibrant

Maximum saturation for high-contrast displays.

SilkCircuit Dawn (Light)

Light variant with warm pastel tones.

Creating Custom Themes

Theme File Structure

toml
[meta]
name = "My Theme"
author = "Your Name"
variant = "dark"  # or "light"

[palette]
purple_500 = "#e135ff"
cyan_400 = "#80ffea"

[tokens]
"text.primary" = "#f8f8f2"
"accent.primary" = "purple_500"  # Reference palette

[styles]
keyword = { fg = "accent.primary", bold = true }

[gradients]
primary = ["purple_500", "cyan_400"]

Theme Location

Place custom themes in:

~/.config/git-iris/themes/mytheme.toml

Then load with:

bash
git-iris config --theme mytheme

Terminal Requirements

True Color Support

Git-Iris uses 24-bit true color (RGB). Ensure your terminal supports it:

bash
# Test true color support
printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"

If you see "TRUECOLOR" in orange, your terminal supports it.

TerminalSupport
iTerm2Full
AlacrittyFull
WezTermFull
KittyFull
Terminal.appFull (macOS 10.15+)
Windows TerminalFull
tmuxFull (with tmux-256color)

Tmux Configuration

Add to ~/.tmux.conf:

bash
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"

Token Usage Examples

In Custom Themes

toml
[tokens]
"accent.primary" = "#e135ff"
"accent.secondary" = "#80ffea"

[styles]
# Use tokens in styles
my_style = { fg = "accent.primary", bg = "bg.panel", bold = true }

Programmatic Access

Themes are accessed internally via the theme API:

rust
use git_iris::theme;

let theme = theme::current();
let color = theme.color("accent.primary");
let style = theme.style("keyword");

Quick Reference Tables

Essential Tokens

Use CaseToken
Headingsaccent.primary
Linksaccent.secondary
Successsuccess
Errorserror
Warningswarning
Added codediff.added
Removed codediff.removed
File pathscode.path
Commit hashescode.hash

Panel-Specific

PanelFocused BorderBackground
Anyborder.focusedbg.panel
Any (unfocused)border.unfocusedbg.panel
Code viewborder.focusedbg.code
Highlighted line-bg.highlight

Released under the Apache 2.0 License.