code: func SetOutputMode(mode OutputMode) OutputMode {
  	if mode == OutputCurrent {
  		return output_mode
  	}
  
  	output_mode = mode
  	return output_mode
  }
docs: // Sets the termbox output mode. Termbox has four output options:
  //
  // 1. OutputNormal => [1..8]
  //    This mode provides 8 different colors:
  //        black, red, green, yellow, blue, magenta, cyan, white
  //    Shortcut: ColorBlack, ColorRed, ...
  //    Attributes: AttrBold, AttrUnderline, AttrReverse
  //
  //    Example usage:
  //        SetCell(x, y, '@', ColorBlack | AttrBold, ColorRed);
  //
  // 2. Output256 => [1..256]
  //    In this mode you can leverage the 256 terminal mode:
  //    0x01 - 0x08: the 8 colors as in OutputNormal
  //    0x09 - 0x10: Color* | AttrBold
  //    0x11 - 0xe8: 216 different colors
  //    0xe9 - 0x1ff: 24 different shades of grey
  //
  //    Example usage:
  //        SetCell(x, y, '@', 184, 240);
  //        SetCell(x, y, '@', 0xb8, 0xf0);
  //
  // 3. Output216 => [1..216]
  //    This mode supports the 3rd range of the 256 mode only.
  //    But you don't need to provide an offset.
  //
  // 4. OutputGrayscale => [1..26]
  //    This mode supports the 4th range of the 256 mode
  //    and black and white colors from 3th range of the 256 mode
  //    But you don't need to provide an offset.
  //
  // In all modes, 0x00 represents the default color.
  //
  // `go run _demos/output.go` to see its impact on your terminal.
  //
  // If 'mode' is OutputCurrent, it returns the current output mode.
  //
  // Note that this may return a different OutputMode than the one requested,
  // as the requested mode may not be available on the target platform.