public void WriteLine(params Text[] text) { var sb = new StringBuilder(); var lastColor = Color.Default; foreach (var item in text) { if (item.Color != lastColor) { lastColor = item.Color; sb.Append($"\x001B[{_colorTheme.GetAnsiColor(lastColor)}m"); } sb.Append(item.Value); } sb.Append($"\x001B[{_colorTheme.GetAnsiColor(Color.Default)}m"); _stdOut.WriteLine(sb.ToString()); }
public string GetAnsiColor(Color color) { switch (color) { case Color.SummaryInfo: case Color.PerformanceCounterInfo: return("35"); case Color.Details: return("34"); case Color.Task: return("36"); default: return(_defaultColorTheme.GetAnsiColor(color)); } }
public void Write(string message, IConsole console = null) { if (string.IsNullOrEmpty(message)) { return; } (console ?? _defaultConsole).Write(_colorStorage.Color.HasValue ? $"\x001B[{_colorTheme.GetAnsiColor(_colorStorage.Color.Value)}m{message}" : message); }