1package e2e23import (4 "testing"56 ghostty "go.mitchellh.com/libghostty"7)89// Reference palettes make screen snapshots deterministic and give review10// screenshots a realistic look. They follow common Ghostty defaults.11var (12 darkANSI = [16]uint32{13 0x1d1f21, 0xcc6666, 0xb5bd68, 0xf0c674, 0x81a2be, 0xb294bb, 0x8abeb7, 0xc5c8c6,14 0x666666, 0xd54e53, 0xb9ca4a, 0xe7c547, 0x7aa6da, 0xc397d8, 0x70c0b1, 0xeaeaea,15 }16 lightANSI = [16]uint32{17 0x1d1f21, 0xc82829, 0x718c00, 0xb58900, 0x4271ae, 0x8959a8, 0x3e999f, 0xd6d6d6,18 0x8e908c, 0xc82829, 0x718c00, 0xb58900, 0x4271ae, 0x8959a8, 0x3e999f, 0xffffff,19 }20)2122func rgb(v uint32) ghostty.ColorRGB {23 return ghostty.ColorRGB{R: uint8(v >> 16), G: uint8(v >> 8), B: uint8(v)}24}2526func applyPalette(t *testing.T, vt *ghostty.Terminal, light bool) {27 t.Helper()28 ansi, bg, fg := darkANSI, rgb(0x1d1f21), rgb(0xc5c8c6)29 if light {30 ansi, bg, fg = lightANSI, rgb(0xfafafa), rgb(0x1d1f21)31 }32 p, err := vt.ColorPaletteDefault()33 if err != nil {34 t.Fatal(err)35 }36 for i, c := range ansi {37 p[i] = rgb(c)38 }39 if err := vt.SetColorPalette(p); err != nil {40 t.Fatal(err)41 }42 if err := vt.SetColorBackground(&bg); err != nil {43 t.Fatal(err)44 }45 if err := vt.SetColorForeground(&fg); err != nil {46 t.Fatal(err)47 }48}