Skip to content

Commit d82d083

Browse files
committed
feat: Support SGR 59 (reset underline color to default)
1 parent 85c9a86 commit d82d083

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

crates/anstyle-svg/src/adapter.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ impl anstyle_parse::Perform for AnsiCapture {
222222
color_target = ColorTarget::Underline;
223223
state = CsiState::PrepareCustomColor;
224224
}
225+
(CsiState::Normal, 59) => {
226+
style = style.underline_color(None);
227+
break;
228+
}
225229
(CsiState::Normal, 90..=97) => {
226230
let color = to_ansi_color(value - 90)
227231
.expect("within 4-bit range")

crates/anstyle-svg/tests/underline_color_reset.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
<body class="bg">
2626

2727
<div class="container fg">
28-
<span class="underline-rgb-FF0000 underline">red underline default color underline</span><span class="underline-rgb-FF0000"> normal</span><br />
29-
<span class="underline-ansi256-202 underline">orange underline default color underline</span><span class="underline-ansi256-202"> normal</span><br />
30-
<span class="underline-rgb-0080FF underline">blue underline default color underline</span><span class="underline-rgb-0080FF"> normal</span><br />
28+
<span class="underline-rgb-FF0000 underline">red underline</span><span class="underline"> default color underline</span><span> normal</span><br />
29+
<span class="underline-ansi256-202 underline">orange underline</span><span class="underline"> default color underline</span><span> normal</span><br />
30+
<span class="underline-rgb-0080FF underline">blue underline</span><span class="underline"> default color underline</span><span> normal</span><br />
3131
<br />
3232
</div>
3333

crates/anstyle-svg/tests/underline_color_reset.svg

Lines changed: 3 additions & 3 deletions
Loading

0 commit comments

Comments
 (0)