theme

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package theme holds the colour palette shared by all render modes (TUI, static, web).

Index

Constants

This section is empty.

Variables

View Source
var PaletteClean = Palette{
	AccentPrimary:   cleanBlue,
	AccentSecondary: cleanPurple,
	AccentTertiary:  cleanOrange,
	BG:              "#F5F7FA",
	BGPanel:         "#EAECF0",
	BGSelected:      "#DDE3EE",
	BGAdded:         "#E8F5E9",
	BGRemoved:       "#FFEBEE",
	BorderActive:    cleanBlue,
	BorderDim:       "#C8D0DC",
	ObjectKey:       cleanBlue,
	ArrayIndex:      cleanRed,
	StringVal:       "#27882B",
	NumberVal:       "#B07D00",
	BoolTrue:        "#2980B9",
	BoolFalse:       cleanRed,
	NullVal:         "#7F8C8D",
	Text:            "#1A2332",
	Muted:           "#95A5A6",
	Error:           cleanRed,
	Path:            cleanPurple,
	Hash:            cleanPurple,
	Stats:           cleanOrange,
	Search:          cleanOrange,
	Added:           "#27882B",
	Removed:         cleanRed,
}

PaletteClean is the default light theme.

View Source
var PaletteCyber = Palette{
	AccentPrimary:   cyberCyan,
	AccentSecondary: cyberPurple,
	AccentTertiary:  cyberGold,
	BG:              "#0D0D0D",
	BGPanel:         "#111111",
	BGSelected:      "#1A1A2E",
	BGAdded:         "#0d1a0d",
	BGRemoved:       "#1a0d0d",
	BorderActive:    cyberCyan,
	BorderDim:       "#1E1E1E",
	ObjectKey:       cyberCyan,
	ArrayIndex:      "#FF6B6B",
	StringVal:       "#98C379",
	NumberVal:       "#E5C07B",
	BoolTrue:        "#56B6C2",
	BoolFalse:       cyberRed,
	NullVal:         "#5C6370",
	Text:            "#C0C0C0",
	Muted:           "#3A3A3A",
	Error:           cyberRed,
	Path:            cyberPurple,
	Hash:            cyberPurple,
	Stats:           cyberGold,
	Search:          cyberGold,
	Added:           "#98C379",
	Removed:         cyberRed,
}

PaletteCyber is the default cyber/neural-interface theme.

View Source
var PaletteDracula = Palette{
	AccentPrimary:   draculaPurple,
	AccentSecondary: draculaPink,
	AccentTertiary:  draculaYellow,
	BG:              "#282A36",
	BGPanel:         "#21222C",
	BGSelected:      "#44475A",
	BGAdded:         "#1e3128",
	BGRemoved:       "#3a1a1e",
	BorderActive:    draculaPurple,
	BorderDim:       "#3D4050",
	ObjectKey:       draculaPurple,
	ArrayIndex:      draculaRed,
	StringVal:       "#50FA7B",
	NumberVal:       draculaYellow,
	BoolTrue:        "#8BE9FD",
	BoolFalse:       draculaRed,
	NullVal:         "#6272A4",
	Text:            "#F8F8F2",
	Muted:           "#6272A4",
	Error:           draculaRed,
	Path:            draculaPink,
	Hash:            draculaPink,
	Stats:           draculaYellow,
	Search:          draculaYellow,
	Added:           "#50FA7B",
	Removed:         draculaRed,
}

PaletteDracula is the Dracula theme.

View Source
var PaletteMatrix = Palette{
	AccentPrimary:   matrixGreen,
	AccentSecondary: matrixLime,
	AccentTertiary:  matrixPaleGreen,
	BG:              "#0D0D0D",
	BGPanel:         "#0A1A0A",
	BGSelected:      "#001A00",
	BGAdded:         "#001800",
	BGRemoved:       "#180000",
	BorderActive:    matrixGreen,
	BorderDim:       "#003300",
	ObjectKey:       matrixGreen,
	ArrayIndex:      "#33FF33",
	StringVal:       "#00CC22",
	NumberVal:       matrixPaleGreen,
	BoolTrue:        matrixGreen,
	BoolFalse:       matrixRed,
	NullVal:         "#005500",
	Text:            "#00CC22",
	Muted:           "#005500",
	Error:           matrixRed,
	Path:            matrixLime,
	Hash:            matrixLime,
	Stats:           matrixPaleGreen,
	Search:          "#FFFFFF",
	Added:           matrixGreen,
	Removed:         matrixRed,
}

PaletteMatrix is the matrix green theme.

View Source
var PaletteNord = Palette{
	AccentPrimary:   nordFrost,
	AccentSecondary: nordMauve,
	AccentTertiary:  nordYellow,
	BG:              "#2E3440",
	BGPanel:         "#272C36",
	BGSelected:      "#3B4252",
	BGAdded:         "#2c3a2c",
	BGRemoved:       "#3a2c2e",
	BorderActive:    nordFrost,
	BorderDim:       "#3B4252",
	ObjectKey:       nordFrost,
	ArrayIndex:      nordRed,
	StringVal:       "#A3BE8C",
	NumberVal:       nordYellow,
	BoolTrue:        "#81A1C1",
	BoolFalse:       nordRed,
	NullVal:         "#4C566A",
	Text:            "#ECEFF4",
	Muted:           "#4C566A",
	Error:           nordRed,
	Path:            nordMauve,
	Hash:            nordMauve,
	Stats:           nordYellow,
	Search:          nordYellow,
	Added:           "#A3BE8C",
	Removed:         nordRed,
}

PaletteNord is the Nord theme.

View Source
var PaletteSolarized = Palette{
	AccentPrimary:   solarBlue,
	AccentSecondary: solarMagenta,
	AccentTertiary:  solarOrange,
	BG:              "#FDF6E3",
	BGPanel:         "#EEE8D5",
	BGSelected:      "#E0D9C5",
	BGAdded:         "#EBF5EB",
	BGRemoved:       "#FBE9E9",
	BorderActive:    solarBlue,
	BorderDim:       "#D0C9B5",
	ObjectKey:       solarBlue,
	ArrayIndex:      solarRed,
	StringVal:       "#859900",
	NumberVal:       "#B58900",
	BoolTrue:        "#2AA198",
	BoolFalse:       solarRed,
	NullVal:         "#93A1A1",
	Text:            "#657B83",
	Muted:           "#93A1A1",
	Error:           solarRed,
	Path:            solarMagenta,
	Hash:            solarMagenta,
	Stats:           solarOrange,
	Search:          solarOrange,
	Added:           "#859900",
	Removed:         solarRed,
}

PaletteSolarized is the Solarized light theme.

Functions

This section is empty.

Types

type Palette

type Palette struct {
	AccentPrimary   string // active border, tab active, status type
	AccentSecondary string // path, hash
	AccentTertiary  string // stats, search highlight
	BG              string // terminal background
	BGPanel         string // panel/sidebar background (slightly different from BG)
	BGSelected      string // cursor row background (web: --bg-hover)
	BGAdded         string // faint added-row background (web diff)
	BGRemoved       string // faint removed-row background (web diff)
	BorderActive    string // focused panel border
	BorderDim       string // unfocused panel border and dim connectors
	ObjectKey       string
	ArrayIndex      string
	StringVal       string
	NumberVal       string
	BoolTrue        string
	BoolFalse       string
	NullVal         string
	Text            string // primary text colour
	Muted           string // muted / inactive text
	Error           string
	Path            string
	Hash            string
	Stats           string
	Search          string
	Added           string // diff line added
	Removed         string // diff line removed
}

Palette holds all themeable hex color strings.

func ResolveLightPalette

func ResolveLightPalette(name string) Palette

ResolveLightPalette returns the named light palette, defaulting to Clean.

func ResolvePalette

func ResolvePalette(name string) Palette

ResolvePalette returns the named dark palette, defaulting to Cyber.

func (Palette) ToCSSVars

func (p Palette) ToCSSVars() map[string]string

ToCSSVars returns the palette as a map of CSS custom property names to values. The map covers every variable used by shared.js and the web tool stylesheets.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL