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 ​

Git-Iris ships 39 builtin themes through opaline, the underlying theme engine. Run git-iris themes for the full list with descriptions. Themes are grouped by family:

FamilyVariantsNotes
SilkCircuitsilkcircuit-neon (default), silkcircuit-soft, silkcircuit-vibrant, silkcircuit-glow, silkcircuit-dawn (light)Native Git-Iris design language
Draculadracula
Nordnord
Tokyo Nighttokyo-night, tokyo-night-moon, tokyo-night-storm
Catppuccincatppuccin-mocha, catppuccin-macchiato, catppuccin-frappe, catppuccin-latte (light)
Gruvboxgruvbox-dark, gruvbox-light
Ayuayu-dark, ayu-mirage, ayu-light
Rosé Pinerose-pine, rose-pine-moon, rose-pine-dawn (light)
Kanagawakanagawa-wave, kanagawa-dragon, kanagawa-lotus (light)
Everforesteverforest-dark, everforest-light
Flexokiflexoki-dark, flexoki-light
GitHubgithub-dark-dimmed, github-light
Solarizedsolarized-dark, solarized-light
Night/Light Owlnight-owl, light-owl
Other classicsmonokai-pro, one-dark, one-light, palenight

Using Themes ​

There is no git-iris config --theme flag. Set the theme in your config file, or pass the global --theme flag on any invocation.

bash
# List every available theme
git-iris themes

# Override for a single invocation (works on any subcommand)
git-iris studio --theme silkcircuit-glow
git-iris gen --theme silkcircuit-dawn --print

# Make it your default by editing ~/.config/git-iris/config.toml:
#
#   theme = "silkcircuit-glow"

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)

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 the global --theme flag, or set it as your default in ~/.config/git-iris/config.toml:

bash
# One-off
git-iris studio --theme mytheme

# Persistent default — add to ~/.config/git-iris/config.toml
#
#   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.