Skip to content

Commit afd010b

Browse files
SteveL-MSFTjonsequitur
authored andcommitted
Add StyleSpan.AttributesOff for ESC[0m
1 parent ecc0557 commit afd010b

File tree

4 files changed

+5
-4
lines changed

4 files changed

+5
-4
lines changed

src/System.CommandLine.Rendering.Tests/TextSpanTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,13 @@ public void Ansi_control_codes_can_be_included_in_interpolated_strings()
113113

114114
var formatter = new TextSpanFormatter();
115115

116-
var span = formatter.ParseToSpan($"{Ansi.Color.Foreground.LightGray}hello{Ansi.Color.Off}");
116+
var span = formatter.ParseToSpan($"{Ansi.Color.Foreground.LightGray}hello{Ansi.Text.AttributesOff}");
117117

118118
writer.Write(span.ToString(OutputMode.Ansi));
119119

120120
writer.ToString()
121121
.Should()
122-
.Be($"{Ansi.Color.Foreground.LightGray.EscapeSequence}hello{Ansi.Color.Off.EscapeSequence}");
122+
.Be($"{Ansi.Color.Foreground.LightGray.EscapeSequence}hello{Ansi.Text.AttributesOff.EscapeSequence}");
123123
}
124124
}
125125
}

src/System.CommandLine.Rendering/Ansi.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public static class Ansi
1111
[DebuggerStepThrough]
1212
public static class Text
1313
{
14+
public static AnsiControlCode AttributesOff { get; } = $"{Esc}[0m";
1415
public static AnsiControlCode BlinkOff { get; } = $"{Esc}[25m";
1516
public static AnsiControlCode BlinkOn { get; } = $"{Esc}[5m";
1617
public static AnsiControlCode BoldOff { get; } = $"{Esc}[22m";
@@ -27,8 +28,6 @@ public static class Text
2728
[DebuggerStepThrough]
2829
public static class Color
2930
{
30-
public static AnsiControlCode Off { get; } = $"{Esc}[0m";
31-
3231
[DebuggerStepThrough]
3332
public class Background
3433
{

src/System.CommandLine.Rendering/AnsiRenderingSpanVisitor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ public override void VisitCursorControlSpan(CursorControlSpan cursorControlSpan)
128128
private static readonly Dictionary<string, AnsiControlCode> _styleControlCodeMappings =
129129
new Dictionary<string, AnsiControlCode>
130130
{
131+
[nameof(StyleSpan.AttributesOff)] = Ansi.Text.AttributesOff,
131132
[nameof(StyleSpan.BlinkOff)] = Ansi.Text.BlinkOff,
132133
[nameof(StyleSpan.BlinkOn)] = Ansi.Text.BlinkOn,
133134
[nameof(StyleSpan.BoldOff)] = Ansi.Text.BoldOff,

src/System.CommandLine.Rendering/StyleSpan.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public StyleSpan(string name, AnsiControlCode ansiControlCode) : base(name, ansi
99
{
1010
}
1111

12+
public static StyleSpan AttributesOff() => new StyleSpan(nameof(AttributesOff), Ansi.Text.AttributesOff);
1213
public static StyleSpan BlinkOff() => new StyleSpan(nameof(BlinkOff), Ansi.Text.BlinkOn);
1314
public static StyleSpan BlinkOn() => new StyleSpan(nameof(BlinkOn), Ansi.Text.BlinkOff);
1415
public static StyleSpan BoldOff() => new StyleSpan(nameof(BoldOff), Ansi.Text.BoldOff);

0 commit comments

Comments
 (0)