string StyleToAnsi(TextStyle style, bool use256) { StringBuilder esb = new StringBuilder(); esb.Append("\x1b[0m"); if (style.IsHighIntensity) { esb.Append("\x1b[1m"); } if (style.IsReverse) { esb.Append("\x1b[7m"); } if (!style.Fg.IsEmpty) { if (use256) { esb.Append(Ansi.ColorToAnsiString256(style.Fg, false, style.IsHighIntensity)); } else { esb.Append(Ansi.ColorToAnsiString8(style.Fg, false)); } } if (!style.Bg.IsEmpty) { if (use256) { esb.Append(Ansi.ColorToAnsiString256(style.Bg, true, false)); } else { esb.Append(Ansi.ColorToAnsiString8(style.Bg, true)); } } return(esb.ToString()); }