예제 #1
0
 /// <summary>
 ///     Writes something using the secondary color
 /// </summary>
 /// <param name="sequence">The sequence.</param>
 /// <param name="text">The text.</param>
 public virtual void WriteSecondary(IInlineSequence sequence, string text)
 {
     sequence.PushColor(ViewModel.Theme.SecondaryTextColor);
     sequence.AppendText(text);
     StringBuilder.Append(text);
     sequence.PopFormatting();
 }
예제 #2
0
파일: Br.cs 프로젝트: tig/CsConsoleFormat
 public override void GenerateSequence(IInlineSequence sequence)
 {
     if (sequence == null)
     {
         throw new ArgumentNullException(nameof(sequence));
     }
     sequence.AppendText("\n");
 }
예제 #3
0
 /// <summary>
 ///     Generates the sequence.
 /// </summary>
 /// <param name="sequence">The sequence.</param>
 public override void GenerateSequence(IInlineSequence sequence)
 {
     if (ViewModel.Parameter is SeparatedSwitch separated)
     {
         GenerateSeparatedSwitchSequence(separated, sequence);
     }
     else if (ViewModel.Parameter is Switch @switch)
     {
         GenerateSwitchSequence(@switch, sequence);
     }
     else if (ViewModel.Parameter is Positional positional)
     {
         GeneratePositionalSequence(positional, sequence);
     }
 }
예제 #4
0
        public override void GenerateSequence (IInlineSequence sequence)
        {
            if (sequence == null)
                throw new ArgumentNullException(nameof(sequence));

            if (Color != null)
                sequence.PushColor(Color.Value);
            if (Background != null)
                sequence.PushBackground(Background.Value);

            if (Text != null) {
                sequence.AppendText(Text);
            }
            else {
                foreach (InlineElement child in VisualChildren.Cast<InlineElement>())
                    child.GenerateSequence(sequence);
            }

            if (Background != null)
                sequence.PopFormatting();
            if (Color != null)
                sequence.PopFormatting();
        }
예제 #5
0
        public override void GenerateSequence(IInlineSequence sequence)
        {
            if (sequence == null)
            {
                throw new ArgumentNullException(nameof(sequence));
            }

            if (Color != null)
            {
                sequence.PushColor(Color.Value);
            }
            if (Background != null)
            {
                sequence.PushBackground(Background.Value);
            }

            if (Text != null)
            {
                sequence.AppendText(Text);
            }
            else
            {
                foreach (InlineElement child in VisualChildren.Cast <InlineElement>())
                {
                    child.GenerateSequence(sequence);
                }
            }

            if (Background != null)
            {
                sequence.PopFormatting();
            }
            if (Color != null)
            {
                sequence.PopFormatting();
            }
        }
예제 #6
0
        /// <summary>
        ///     Generates the switch sequence.
        /// </summary>
        /// <param name="switch">The switch.</param>
        /// <param name="seq">The seq.</param>
        public virtual void GenerateSwitchSequence(Switch @switch, IInlineSequence seq)
        {
            WritePrimary(seq, "[");
            if (@switch.Letter.HasValue && @switch.Word.IsNotNullOrWhiteSpace())
            {
                WriteSecondary(seq, $"{@switch.LetterToken}{@switch.Letter}");
                WritePrimary(seq, ", ");
                WriteSecondary(seq, $"{@switch.WordToken}{@switch.Word}");
            }
            else if (@switch.Letter.HasValue)
            {
                WriteSecondary(seq, $"{@switch.LetterToken}{@switch.Letter}");
            }
            else if (@switch.Word.IsNotNullOrWhiteSpace())
            {
                WriteSecondary(seq, $"{@switch.WordToken}{@switch.Word}");
            }

            if (ViewModel.Parameter.MaxAllowed > 1)
            {
                WriteSecondary(seq, $" {GenerateValueAlias(@switch)}");
            }
            WritePrimary(seq, "]");
        }
예제 #7
0
 public abstract void GenerateSequence([NotNull] IInlineSequence sequence);
예제 #8
0
파일: Br.cs 프로젝트: jhorv/CsConsoleFormat
 public override void GenerateSequence (IInlineSequence sequence)
 {
     if (sequence == null)
         throw new ArgumentNullException(nameof(sequence));
     sequence.AppendText("\n");
 }
예제 #9
0
        public virtual void GenerateSeparatedSwitchSequence(SeparatedSwitch separated, IInlineSequence seq)
        {
            WritePrimary(seq, "[");
            if (separated.Letter.HasValue && separated.Word.IsNotNullOrWhiteSpace())
            {
                WriteSecondary(seq, $"{separated.LetterToken}{separated.Letter}");
                WritePrimary(seq, ", ");
                WriteSecondary(seq, $"{separated.WordToken}{separated.Word}");
            }
            else if (separated.Letter.HasValue)
            {
                WriteSecondary(seq, $"{separated.LetterToken}{separated.Letter}");
            }
            else if (separated.Word.IsNotNullOrWhiteSpace())
            {
                WriteSecondary(seq, $"{separated.WordToken}{separated.Word}");
            }

            WriteSecondary(seq, $":{GenerateValueAlias(separated)}");
            WritePrimary(seq, "]");
        }
예제 #10
0
 /// <summary>
 ///     Generates the positional sequence.
 /// </summary>
 /// <param name="positional">The positional.</param>
 /// <param name="seq">The seq.</param>
 public virtual void GeneratePositionalSequence(Positional positional, IInlineSequence seq)
 {
     WritePrimary(seq, "[");
     WriteSecondary(seq, GenerateValueAlias(positional));
     WritePrimary(seq, "]");
 }