public void Write(IRenderable renderable) { foreach (var segment in renderable.GetSegments(this)) { Profile.Out.Write(segment.Text); } }
public void Write(IRenderable renderable) { var builder = new StringBuilder(); foreach (var segment in renderable.GetSegments(_console)) { if (segment.IsControlCode) { builder.Append(segment.Text); continue; } var parts = segment.Text.NormalizeNewLines().Split(new[] { '\n' }); foreach (var(_, _, last, part) in parts.Enumerate()) { if (!string.IsNullOrEmpty(part)) { builder.Append(_builder.GetAnsi(part, segment.Style)); } if (!last) { builder.Append(Environment.NewLine); } } } if (builder.Length > 0) { _console.Profile.Out.Write(builder.ToString()); _console.Profile.Out.Flush(); } }
public static string Build(IAnsiConsole console, IRenderable renderable) { var builder = new StringBuilder(); foreach (var segment in renderable.GetSegments(console)) { if (segment.IsControlCode) { builder.Append(segment.Text); continue; } var parts = segment.Text.NormalizeNewLines().Split(new[] { '\n' }); foreach (var(_, _, last, part) in parts.Enumerate()) { if (!string.IsNullOrEmpty(part)) { builder.Append(Build(console.Profile, part, segment.Style)); } if (!last) { builder.Append(Environment.NewLine); } } } return(builder.ToString()); }
public void Write(IRenderable renderable) { foreach (var segment in renderable.GetSegments(_console)) { if (segment.IsControlCode) { continue; } if (_lastStyle?.Equals(segment.Style) != true) { SetStyle(segment.Style); } _console.Profile.Out.Write(segment.Text.NormalizeNewLines(native: true)); } }
/// <inheritdoc/> public void Write(IRenderable renderable) { if (EmitAnsiSequences) { _console.Write(renderable); } else { foreach (var segment in renderable.GetSegments(this)) { if (segment.IsControlCode) { continue; } Profile.Out.Writer.Write(segment.Text); } } }