blackToWhite := theme{
name: "blackToWhite",
colors: []rgb{
{ 0, 0, 0},
{255, 255, 255},
},
}
blackToBlue := theme{
name: "blackToBlue",
colors: []rgb{
{0, 0, 0},
{0, 0, 255},
},
}
blackToGreen := theme{
name: "blackToGreen",
colors: []rgb{
{0, 0, 0},
{0, 255, 0},
},
}
blackToRed := theme{
name: "blackToRed",
colors: []rgb{
{ 0, 0, 0},
{255, 0, 0},
},
}
blackToYellow := theme{
name: "blackToYellow",
colors: []rgb{
{ 0, 0, 0},
{255, 255, 0},
},
}
blueToGreen := theme{
name: "blueToGreen",
colors: []rgb{
{0, 0, 255},
{0, 255, 0},
},
}
blueToRed := theme{
name: "blueToRed",
colors: []rgb{
{ 0, 0, 255},
{255, 0, 0},
},
}
rainbow2 := theme{
name: "rainbow2",
colors: []rgb{
{ 0, 0, 255},
{ 0, 255, 0},
{255, 255, 0},
{255, 0, 0},
},
}
rainbow := theme{
name: "rainbow",
colors: []rgb{
{ 0, 0, 255},
{ 0, 255, 0},
{255, 255, 0},
{255, 127, 0},
{255, 0, 0},
},
}
glacier := theme{
name: "glacier",
colors: []rgb{
{ 0, 30, 60},
{ 0, 210, 255},
{230, 250, 255},
},
}
ocean := theme{
name: "ocean",
colors: []rgb{
{ 0, 10, 45},
{ 0, 128, 128},
{ 0, 200, 150},
{100, 255, 150},
},
}
matrix := theme{
name: "matrix",
colors: []rgb{
{ 0, 40, 0},
{ 0, 140, 40},
{50, 255, 50},
},
}
greenToBlue := theme{
name: "greenToBlue",
colors: []rgb{
{0, 255, 0},
{0, 0, 255},
},
}
greenToYellow := theme{
name: "greenToYellow",
colors: []rgb{
{ 0, 255, 0},
{255, 255, 0},
},
}
biohazard := theme{
name: "biohazard",
colors: []rgb{
{ 0, 255, 68},
{212, 255, 0},
{255, 110, 0},
{120, 0, 200},
{255, 0, 180},
},
}
vaporwave := theme{
name: "vaporwave",
colors: []rgb{
{ 30, 220, 170},
{130, 180, 255},
{255, 130, 210},
},
}
trans := theme{
name: "trans",
colors: []rgb{
{ 91, 206, 250},
{245, 169, 184},
{255, 255, 255},
{245, 169, 184},
{ 91, 206, 250},
},
}
prism := theme{
name: "prism",
colors: []rgb{
{255, 180, 255},
{180, 190, 255},
{170, 255, 220},
{255, 255, 160},
{255, 200, 160},
{255, 160, 190},
},
}
cyberpunk := theme{
name: "cyberpunk",
colors: []rgb{
{ 10, 15, 45},
{255, 0, 85},
{243, 231, 0},
},
}
sunset := theme{
name: "sunset",
colors: []rgb{
{ 48, 25, 52},
{199, 0, 57},
{255, 87, 51},
{255, 195, 0},
},
}
magma := theme{
name: "magma",
colors: []rgb{
{ 20, 0, 25},
{210, 10, 0},
{255, 170, 0},
},
}
nebula := theme{
name: "nebula",
colors: []rgb{
{ 10, 0, 80},
{180, 0, 180},
{ 0, 230, 255},
},
}
supernova := theme{
name: "supernova",
colors: []rgb{
{ 5, 5, 40},
{ 80, 0, 120},
{230, 0, 130},
{255, 40, 0},
{255, 130, 0},
{255, 230, 60},
{255, 255, 255},
},
}
thermal := theme{
name: "thermal",
colors: []rgb{
{ 0, 0, 50},
{150, 0, 150},
{255, 70, 0},
{255, 220, 0},
{255, 255, 255},
},
}
psychadelic := theme{
name: "psychadelic",
colors: []rgb{
{ 10, 0, 30},
{255, 0, 128},
{ 0, 255, 242},
{ 50, 255, 0},
{255, 215, 0},
{255, 0, 40},
{138, 43, 226},
{ 0, 71, 255},
{255, 102, 0},
{ 0, 255, 150},
{255, 0, 210},
{255, 60, 0},
{255, 255, 255},
},
}
toxic := theme{
name: "toxic",
colors: []rgb{
{ 75, 0, 130},
{148, 0, 211},
{ 50, 205, 50},
{173, 255, 47},
},
}
retro := theme{
name: "retro",
colors: []rgb{
{ 55, 0, 255},
{255, 0, 128},
{255, 0, 255},
{ 0, 255, 255},
},
}
bi := theme{
name: "bi",
colors: []rgb{
{214, 2, 112},
{155, 79, 150},
{ 0, 56, 168},
},
}
arcade := theme{
name: "arcade",
colors: []rgb{
{255, 0, 128},
{140, 0, 255},
{ 0, 70, 255},
{ 0, 255, 230},
{ 50, 255, 0},
{255, 230, 0},
},
}
pan := theme{
name: "pan",
colors: []rgb{
{255, 27, 141},
{255, 216, 0},
{ 1, 179, 247},
},
}
fire := theme{
name: "fire",
colors: []rgb{
{255, 0, 0},
{255, 255, 0},
},
}
pride := theme{
name: "pride",
colors: []rgb{
{228, 3, 3},
{255, 140, 0},
{255, 237, 0},
{ 0, 128, 38},
{ 0, 76, 255},
{117, 7, 135},
},
}
coffee := theme{
name: "coffee",
colors: []rgb{
{ 45, 25, 15},
{150, 90, 40},
{240, 210, 170},
},
}
autumn := theme{
name: "autumn",
colors: []rgb{
{ 34, 76, 34},
{218, 145, 0},
{210, 60, 0},
},
}
hazard := theme{
name: "hazard",
colors: []rgb{
{255, 210, 0},
{255, 85, 0},
{ 25, 25, 25},
},
}
registryMap := map[string]*theme{
"blackToWhite": &blackToWhite, "blackToBlue": &blackToBlue,
"blackToGreen": &blackToGreen, "blackToRed": &blackToRed,
"blackToYellow": &blackToYellow, "blueToRed": &blueToRed,
"blueToGreen": &blueToGreen, "greenToBlue": &greenToBlue,
"greenToYellow": &greenToYellow, "fire": &fire,
"thermal": &thermal, "sunset": &sunset,
"ocean": &ocean, "rainbow": &rainbow,
"rainbow2": &rainbow2, "retro": &retro,
"vaporwave": &vaporwave, "toxic": &toxic,
"trans": &trans, "pride": &pride,
"bi": &bi, "pan": &pan,
"matrix": &matrix, "glacier": &glacier,
"autumn": &autumn, "cyberpunk": &cyberpunk,
"magma": &magma, "nebula": &nebula,
"hazard": &hazard, "coffee": &coffee,
"arcade": &arcade, "prism": &prism,
"biohazard": &biohazard, "supernova": &supernova,
"psychadelic": &psychadelic,
}
return &themeRegistry{
get: func(name string) *theme {
if theme, exists := registryMap[name]; exists { return theme }
return &sunset
},
}
}