private void WriteValueWithPadding( IColoredTextWriter textWriter, MessageTemplate.ArgumentToken arg, string formatedValue, Color?textForegroud, Color?textBackground, Color?valueForeground, Color?valueBackground) { if (arg.Alignment > 0) { int padLeft = arg.Alignment - formatedValue.Length; textWriter.Write(textForegroud, textBackground, ' ', padLeft); } textWriter.Write( valueForeground ?? textForegroud, valueBackground ?? textBackground, formatedValue); if (arg.Alignment < 0) { int padRight = -arg.Alignment - formatedValue.Length; textWriter.Write(textForegroud, textBackground, ' ', padRight); } }
public ConsoleHighlightedLineViewProvider( IConsole console, IConsoleCursor consoleCursor, IColoredTextWriter coloredTextWriter, ITextHighlighter <TextStyle> textHighlighter) { _console = console ?? throw new ArgumentNullException(nameof(console)); _consoleCursor = consoleCursor ?? throw new ArgumentNullException(nameof(consoleCursor)); _coloredTextWriter = coloredTextWriter ?? throw new ArgumentNullException(nameof(coloredTextWriter)); _textHighlighter = textHighlighter ?? throw new ArgumentNullException(nameof(textHighlighter)); }
public static void Write(this IColoredTextWriter textWriter, Color?foreground, Color?background, char value, int count) { if (count <= 0) { return; } textWriter.SetColors(foreground, background); textWriter.Write(value, count); textWriter.ResetColors(); }
public ConsoleLockingOutput( IConsole console, IColoredTextWriter coloredTextWriter, IMessageTemplateParser templateParser, IMessageTemplateWriter templateWriter, IMessageTemplateColoredWriter templateColoredWriter, ConsoleOutputLock @lock) { _console = console ?? throw new ArgumentNullException(nameof(console)); _coloredTextWriter = coloredTextWriter ?? throw new ArgumentNullException(nameof(coloredTextWriter)); _templateParser = templateParser ?? throw new ArgumentNullException(nameof(templateParser)); _templateWriter = templateWriter ?? throw new ArgumentNullException(nameof(templateWriter)); _templateColoredWriter = templateColoredWriter ?? throw new ArgumentNullException(nameof(templateColoredWriter)); _lock = @lock ?? throw new ArgumentNullException(nameof(@lock)); }
public ConsoleHighlightedLineView( IConsole console, IConsoleCursor consoleCursor, IColoredTextWriter coloredTextWriter, ITextHighlighter <TextStyle> textHighlighter) { _console = console ?? throw new ArgumentNullException(nameof(console)); _consoleCursor = consoleCursor ?? throw new ArgumentNullException(nameof(consoleCursor)); _coloredTextWriter = coloredTextWriter ?? throw new ArgumentNullException(nameof(coloredTextWriter)); _textHighlighter = textHighlighter ?? throw new ArgumentNullException(nameof(textHighlighter)); _prevHighlights = Array.Empty <StyledSpan <TextStyle> >(); _line = new InMemoryLineView(); ViewType = LineViewType.Normal; _hasChanges = false; _prevLength = 0; _maxPosition = 0; }
public void Write( Colored <MessageTemplate> messageTemplate, IReadOnlyList <Colored <object> > args, IColoredTextWriter textWriter, IFormatProvider formatProvider = null) { if (messageTemplate == null) { throw new ArgumentNullException(nameof(messageTemplate)); } if (args == null) { throw new ArgumentNullException(nameof(args)); } if (textWriter == null) { throw new ArgumentNullException(nameof(textWriter)); } var formatter = GetFormatter(formatProvider); var textForegroud = messageTemplate.Foreground; var textBackground = messageTemplate.Background; foreach (var token in messageTemplate.Value.Tokens) { switch (token) { case MessageTemplate.TextToken text: textWriter.Write(textForegroud, textBackground, text.Text); break; case MessageTemplate.ArgumentToken arg: var coloredValue = args[arg.Index]; string formatedValue = _valueFormatter.Format(coloredValue.Value, arg.Format, formatProvider, formatter); WriteValueWithPadding( textWriter, arg, formatedValue, textForegroud, textBackground, coloredValue.Foreground, coloredValue.Background); break; default: throw new FormatException($"Unknown format token `{token?.GetType().Name}`."); } } }
public ConsoleInterface( IConsole console, IColoredTextWriter coloredTextWriter, ConsoleOutputLock outputLock, ILineReader lineReader, ICommandLineParser parser, IPromptMessage prompt = null) { _console = console ?? throw new ArgumentNullException(nameof(console)); _coloredTextWriter = coloredTextWriter ?? throw new ArgumentNullException(nameof(coloredTextWriter)); _outputLock = outputLock ?? throw new ArgumentNullException(nameof(outputLock)); _lineReader = lineReader ?? throw new ArgumentNullException(nameof(lineReader)); _parser = parser ?? throw new ArgumentNullException(nameof(parser)); _prompt = prompt; _contextBuilder = new ContextBuilder(); _cliLoopTokenSource = new CancellationTokenSource(); _cliLoop = null; IsRunning = false; }
public static void Write(this IColoredTextWriter textWriter, Color?foreground, Color?background, char value) { textWriter.SetColors(foreground, background); textWriter.Write(value); textWriter.ResetColors(); }
public void Write(IColoredTextWriter writer) { writer.Write(_options.Foreground, _options.Background, _options.Message); }