@@ -504,24 +504,42 @@ fn write_fg_span(buffer: &mut String, span: SpanKind, element: &adapter::Element
504504 classes. push ( "hidden" ) ;
505505 }
506506
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- }
511507 let mut need_closing_a = false ;
512508
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+ }
523542 }
524- write ! ( buffer, r#"</{span}>"# ) . unwrap ( ) ;
525543}
526544
527545fn write_bg_span ( buffer : & mut String , span : SpanKind , style : & anstyle:: Style , fragment : & str ) {
0 commit comments