update method

TerminalThemeState update(
  1. Msg msg
)

Implementation

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

    // UV decoder can also emit light/dark scheme 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,
  };
}