rgbExample :: IO ()
rgbExample = runWithStyle [] $
  for_ [0,64..255] $ \r ->
    for_ [0,64..255] $ \g ->
      for_ [0,64..255] $ \b -> do
        let c = RGB r g b
        withStyle [BgColor c] $ liftIO $ printf "%-20s" $ show c
        withStyle [FgColor c] $ liftIO $ printf " %-20s" $ show c
        withStyle [BgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        withStyle [FgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        liftIO $ putChar '\n'
rgbExample :: IO ()
rgbExample = runWithStyle [] $
  for_ [0,64..255] $ \r ->
    for_ [0,64..255] $ \g ->
      for_ [0,64..255] $ \b -> do
        let c = RGB r g b
        withStyle [BgColor c] $ liftIO $ printf "%-20s" $ show c
        withStyle [FgColor c] $ liftIO $ printf " %-20s" $ show c
        withStyle [BgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        withStyle [FgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        liftIO $ putChar '\n'
rgbExample = runWithStyle [] $
  for_ [0,64..255] $ \r ->
    for_ [0,64..255] $ \g ->
      for_ [0,64..255] $ \b -> do
        let c = RGB r g b
        withStyle [BgColor c] $ liftIO $ printf "%-20s" $ show c
        withStyle [FgColor c] $ liftIO $ printf " %-20s" $ show c
        withStyle [BgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        withStyle [FgColor c, Invert] $ liftIO $ printf " %-20s" $ show c
        liftIO $ putChar '\n'