@@ -12,14 +12,14 @@ namespace Markdig.Renderers.Roundtrip;
1212/// <seealso cref="RoundtripObjectRenderer{HeadingBlock}" />
1313public class HeadingRenderer : RoundtripObjectRenderer < HeadingBlock >
1414{
15- private static readonly string [ ] HeadingTexts = {
15+ private static readonly string [ ] HeadingTexts = [
1616 "#" ,
1717 "##" ,
1818 "###" ,
1919 "####" ,
2020 "#####" ,
2121 "######" ,
22- } ;
22+ ] ;
2323
2424 protected override void Write ( RoundtripRenderer renderer , HeadingBlock obj )
2525 {
@@ -28,12 +28,11 @@ protected override void Write(RoundtripRenderer renderer, HeadingBlock obj)
2828 renderer . RenderLinesBefore ( obj ) ;
2929
3030 var headingChar = obj . Level == 1 ? '=' : '-' ;
31- var line = new string ( headingChar , obj . HeaderCharCount ) ;
3231
3332 renderer . WriteLeafInline ( obj ) ;
3433 renderer . WriteLine ( obj . SetextNewline ) ;
3534 renderer . Write ( obj . TriviaBefore ) ;
36- renderer . Write ( line ) ;
35+ renderer . Write ( headingChar , obj . HeaderCharCount ) ;
3736 renderer . WriteLine ( obj . NewLine ) ;
3837 renderer . Write ( obj . TriviaAfter ) ;
3938
@@ -43,12 +42,17 @@ protected override void Write(RoundtripRenderer renderer, HeadingBlock obj)
4342 {
4443 renderer . RenderLinesBefore ( obj ) ;
4544
46- var headingText = obj . Level > 0 && obj . Level <= 6
47- ? HeadingTexts [ obj . Level - 1 ]
48- : new string ( '#' , obj . Level ) ;
49-
5045 renderer . Write ( obj . TriviaBefore ) ;
51- renderer . Write ( headingText ) ;
46+
47+ if ( obj . Level is > 0 and <= 6 )
48+ {
49+ renderer . Write ( HeadingTexts [ obj . Level - 1 ] ) ;
50+ }
51+ else
52+ {
53+ renderer . Write ( '#' , obj . Level ) ;
54+ }
55+
5256 renderer . Write ( obj . TriviaAfterAtxHeaderChar ) ;
5357 renderer . WriteLeafInline ( obj ) ;
5458 renderer . Write ( obj . TriviaAfter ) ;
0 commit comments