Beispiel #1
0
        /// <summary>
        /// Creates a new styled text object that is the same as the current object, but with the text set to the given text instead.
        /// </summary>
        /// <param name="fragment">The text object to be used as a reference.</param>
        /// <param name="text">The text to be used for printing.</param>
        /// <returns>A new text object that is the same as the current object, but with the new text instead.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="fragment"/> is <c>null</c>.</exception>
        public static FabulousText Text(this FabulousText fragment, string text)
        {
            if (fragment == null)
            {
                throw new ArgumentNullException(nameof(fragment));
            }

            return(new FabulousText(fragment.ForegroundColor, fragment.BackgroundColor, fragment.Decorations, text, fragment.ConsoleReset));
        }
Beispiel #2
0
        /// <summary>
        /// Creates a new styled text object that is the same as the current object, but with the background color set to the given color instead.
        /// </summary>
        /// <param name="fragment">The text object to be used as a reference.</param>
        /// <param name="backColor">The new color to use as a background color.</param>
        /// <returns>A new text object that is the same as the current object, but with the new background color.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="fragment"/> or <paramref name="backColor"/> is <c>null</c>.</exception>
        public static FabulousText Background(this FabulousText fragment, IColor backColor)
        {
            if (fragment == null)
            {
                throw new ArgumentNullException(nameof(fragment));
            }
            if (backColor == null)
            {
                throw new ArgumentNullException(nameof(backColor));
            }

            return(new FabulousText(fragment.ForegroundColor, backColor, fragment.Decorations, fragment.Text, fragment.ConsoleReset));
        }
Beispiel #3
0
 /// <summary>
 /// Creates a console writer that performs no styling.
 /// </summary>
 /// <param name="text">A piece of text to be printed.</param>
 public UnstyledConsoleWriter(FabulousText text)
     : this(new FabulousTextCollection(text))
 {
 }
Beispiel #4
0
 /// <summary>
 /// Creates an ANSI string builder that is styled with 256 colors for a piece of styled text.
 /// </summary>
 /// <param name="text">A piece of text to be styled.</param>
 public AnsiEnhancedStringBuilder(FabulousText text)
     : this(new FabulousTextCollection(text))
 {
 }
Beispiel #5
0
 /// <summary>
 /// Creates a console writer that performs styling using <see cref="Console"/>.
 /// </summary>
 /// <param name="text">A piece of text to be printed.</param>
 public StandardConsoleWriter(FabulousText text)
     : this(new FabulousTextCollection(text))
 {
 }
Beispiel #6
0
 /// <summary>
 /// Creates an ANSI string builder that is styled with 24-bit color for a piece of styled text.
 /// </summary>
 /// <param name="text">A piece of text to be styled.</param>
 public AnsiFullStringBuilder(FabulousText text)
     : this(new FabulousTextCollection(text))
 {
 }