mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-06-19 13:28:16 +08:00
Fix line break regression
In commit d1d94cd
, we accidentally introduced a regression
since conhost requires all line breaks to be `\r\n`.
This commit is contained in:

committed by
Phil Scott

parent
1dfc6bdadc
commit
6549436356
@ -59,7 +59,7 @@ namespace Spectre.Console
|
||||
/// <param name="value">The value to write.</param>
|
||||
public static void MarkupLine(this IAnsiConsole console, string value)
|
||||
{
|
||||
Markup(console, value + "\n");
|
||||
Markup(console, value + Environment.NewLine);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -71,7 +71,7 @@ namespace Spectre.Console
|
||||
/// <param name="args">An array of objects to write.</param>
|
||||
public static void MarkupLine(this IAnsiConsole console, IFormatProvider provider, string format, params object[] args)
|
||||
{
|
||||
Markup(console, provider, format + "\n", args);
|
||||
Markup(console, provider, format + Environment.NewLine, args);
|
||||
}
|
||||
}
|
||||
}
|
@ -73,7 +73,7 @@ namespace Spectre.Console
|
||||
throw new ArgumentNullException(nameof(console));
|
||||
}
|
||||
|
||||
console.Write(new Text("\n", Style.Plain));
|
||||
console.Write(new Text(Environment.NewLine, Style.Plain));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -104,7 +104,7 @@ namespace Spectre.Console
|
||||
throw new ArgumentNullException(nameof(text));
|
||||
}
|
||||
|
||||
console.Write(text + "\n", style);
|
||||
console.Write(text + Environment.NewLine, style);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,11 @@ namespace Spectre.Console
|
||||
/// </summary>
|
||||
public static class StringExtensions
|
||||
{
|
||||
// Cache whether or not internally normalized line endings
|
||||
// already are normalized. No reason to do yet another replace if it is.
|
||||
private static readonly bool _alreadyNormalized
|
||||
= Environment.NewLine.Equals("\n", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
/// <summary>
|
||||
/// Escapes text so that it won’t be interpreted as markup.
|
||||
/// </summary>
|
||||
@ -86,6 +91,12 @@ namespace Spectre.Console
|
||||
{
|
||||
text = text?.ReplaceExact("\r\n", "\n");
|
||||
text ??= string.Empty;
|
||||
|
||||
if (native && !_alreadyNormalized)
|
||||
{
|
||||
text = text.ReplaceExact("\n", Environment.NewLine);
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user