update method

TerminalThemeState update(
  1. Msg msg
)

Implementation

TerminalThemeState update(Msg msg) {
  return switch (msg) {
    BackgroundColorMsg(hex: final hex) => _withBackgroundHex(hex),
    ColorSchemeMsg(dark: final dark) => TerminalThemeState(
      backgroundHex: backgroundHex,
      hasDarkBackground: dark,
    ),

    // Backward-compatible fallback for code still looking at raw UV events.
    UvEventMsg(event: final ev) when ev is uvev.DarkColorSchemeEvent =>
      TerminalThemeState(
        backgroundHex: backgroundHex,
        hasDarkBackground: true,
      ),

    UvEventMsg(event: final ev) when ev is uvev.LightColorSchemeEvent =>
      TerminalThemeState(
        backgroundHex: backgroundHex,
        hasDarkBackground: false,
      ),

    _ => this,
  };
}