示例#1
0
#pragma warning disable CS1591 // Documentation of each Visit method is redundant

        public override ConsoleString Visit(FormatVariableElement format, T item)
        {
            if (_variables.TryGetValue(format.Name, out var variable))
            {
                var content = variable.Selector(item);

                int diff = (variable.PaddedLength ?? content.Length) - content.Length;

                if (diff > 0)
                {
                    switch (format.Padding)
                    {
                    case FormatVariablePaddings.PadLeft: return(ConsoleString.FromContent(new string(' ', diff) + content));

                    case FormatVariablePaddings.PadRight: return(ConsoleString.FromContent(content + new string(' ', diff)));

                    case FormatVariablePaddings.PadBoth: return(ConsoleString.FromContent(new string(' ', diff / 2) + content + new string(' ', diff - (diff / 2))));
                    }
                }

                return(ConsoleString.FromContent(content));
            }
            else
            {
                return(GetErrorString("UNKNOWN VARIABLE", format.Name));
            }
        }
示例#2
0
 public static ReadPasswordConfiguration WithRender(this ReadPasswordConfiguration composer, char render, bool repeat)
 {
     return(new ReadPasswordConfiguration
            (
                prompt: composer.Prompt,
                renderAs: ConsoleString.FromContent(render.ToString()),
                repeatRender: repeat
            ));
 }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Required"/> class, using a custom error message.
        /// </summary>
        /// <param name="message">The message that should be displayed if the parameter is not used.
        /// <paramref name="requirementType"/> value.</param>
        /// <param name="requirementType">The level of requirement for the parameter.</param>
        public Required(string message, RequirementType requirementType = RequirementType.Error)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }

            this.message         = new Message(ConsoleString.FromContent(message));
            this.requirementType = requirementType;
        }
示例#4
0
 public override ConsoleString Visit(FormatTextElement format, T item)
 {
     return(ConsoleString.FromContent(format.Text));
 }
 private void Write(string content)
 {
     Console.Write(ConsoleString.FromContent(content, Color));
 }