@@ -504,24 +504,42 @@ fn write_fg_span(buffer: &mut String, span: SpanKind, element: &adapter::Element
504
504
classes. push ( "hidden" ) ;
505
505
}
506
506
507
- if span != SpanKind :: Tspan && classes. is_empty ( ) && element. url . is_none ( ) {
508
- // No need to create an element if there is no class or href.
509
- write ! ( buffer, "{fragment}" ) . unwrap ( ) ;
510
- }
511
507
let mut need_closing_a = false ;
512
508
513
- write ! ( buffer, r#"<{span}"# ) . unwrap ( ) ;
514
- write_classes ( buffer, classes) ;
515
- write ! ( buffer, r#">"# ) . unwrap ( ) ;
516
- if let Some ( hyperlink) = & element. url {
517
- write ! ( buffer, r#"<a href="{hyperlink}">"# ) . unwrap ( ) ;
518
- need_closing_a = true ;
519
- }
520
- write ! ( buffer, "{fragment}" ) . unwrap ( ) ;
521
- if need_closing_a {
522
- write ! ( buffer, r#"</a>"# ) . unwrap ( ) ;
509
+ match span {
510
+ SpanKind :: Span => {
511
+ if classes. is_empty ( ) && element. url . is_none ( ) {
512
+ // No need to create an element if there is no class or href.
513
+ write ! ( buffer, "{fragment}" ) . unwrap ( ) ;
514
+ }
515
+ write ! ( buffer, r#"<span"# ) . unwrap ( ) ;
516
+ write_classes ( buffer, classes) ;
517
+ write ! ( buffer, r#">"# ) . unwrap ( ) ;
518
+ if let Some ( hyperlink) = & element. url {
519
+ write ! ( buffer, r#"<a href="{hyperlink}">"# ) . unwrap ( ) ;
520
+ need_closing_a = true ;
521
+ }
522
+ write ! ( buffer, "{fragment}" ) . unwrap ( ) ;
523
+ if need_closing_a {
524
+ write ! ( buffer, r#"</a>"# ) . unwrap ( ) ;
525
+ }
526
+ write ! ( buffer, r#"</span>"# ) . unwrap ( ) ;
527
+ }
528
+ SpanKind :: Tspan => {
529
+ write ! ( buffer, r#"<tspan"# ) . unwrap ( ) ;
530
+ write_classes ( buffer, classes) ;
531
+ write ! ( buffer, r#">"# ) . unwrap ( ) ;
532
+ if let Some ( hyperlink) = & element. url {
533
+ write ! ( buffer, r#"<a href="{hyperlink}">"# ) . unwrap ( ) ;
534
+ need_closing_a = true ;
535
+ }
536
+ write ! ( buffer, "{fragment}" ) . unwrap ( ) ;
537
+ if need_closing_a {
538
+ write ! ( buffer, r#"</a>"# ) . unwrap ( ) ;
539
+ }
540
+ write ! ( buffer, r#"</tspan>"# ) . unwrap ( ) ;
541
+ }
523
542
}
524
- write ! ( buffer, r#"</{span}>"# ) . unwrap ( ) ;
525
543
}
526
544
527
545
fn write_bg_span ( buffer : & mut String , span : SpanKind , style : & anstyle:: Style , fragment : & str ) {
0 commit comments