Esempio n. 1
0
        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());
        }