@@ -1670,23 +1670,27 @@ impl HumanEmitter {
16701670                        { 
16711671                            already_closed = Some ( !labels. is_empty ( ) ) ; 
16721672                        } 
1673-                         for  ( label,  is_primary)  in  labels. into_iter ( )  { 
1673+                         let  labels_len = labels. len ( ) ; 
1674+                         for  ( label_idx,  ( label,  is_primary) )  in  labels. into_iter ( ) . enumerate ( )  { 
16741675                            let  style = if  is_primary { 
16751676                                Style :: LabelPrimary 
16761677                            }  else  { 
16771678                                Style :: LabelSecondary 
16781679                            } ; 
1679-                             let  pipe =  self . col_separator ( ) ; 
1680-                             buffer . prepend ( line_idx ,   & format ! ( " {pipe}" ) ,   Style :: LineNumber ) ; 
1681-                             for  _  in   0 ..max_line_num_len  { 
1682-                                 buffer . prepend ( line_idx ,   " " ,   Style :: NoStyle ) ; 
1683-                             } 
1680+                             self . draw_col_separator_no_space ( 
1681+                                  & mut  buffer , 
1682+                                 line_idx , 
1683+                                 max_line_num_len +  1 , 
1684+                             ) ; 
16841685                            line_idx += 1 ; 
1685-                             let  chr = self . note_separator ( ) ; 
1686-                             buffer. append ( line_idx,  & format ! ( " {chr} note: " ) ,  style) ; 
1687-                             for  _ in  0 ..max_line_num_len { 
1688-                                 buffer. prepend ( line_idx,  " " ,  Style :: NoStyle ) ; 
1689-                             } 
1686+                             self . draw_note_separator ( 
1687+                                 & mut  buffer, 
1688+                                 line_idx, 
1689+                                 max_line_num_len + 1 , 
1690+                                 label_idx != labels_len - 1 , 
1691+                             ) ; 
1692+                             buffer. append ( line_idx,  "note" ,  Style :: MainHeaderMsg ) ; 
1693+                             buffer. append ( line_idx,  ": " ,  Style :: NoStyle ) ; 
16901694                            buffer. append ( line_idx,  label,  style) ; 
16911695                            line_idx += 1 ; 
16921696                        } 
@@ -2862,10 +2866,11 @@ impl HumanEmitter {
28622866        } 
28632867    } 
28642868
2865-     fn  note_separator ( & self )  -> char  { 
2869+     fn  note_separator ( & self ,   is_cont :   bool )  -> & ' static   str  { 
28662870        match  self . theme  { 
2867-             OutputTheme :: Ascii  => '=' , 
2868-             OutputTheme :: Unicode  => '╰' , 
2871+             OutputTheme :: Ascii  => "= " , 
2872+             OutputTheme :: Unicode  if  is_cont => "├ " , 
2873+             OutputTheme :: Unicode  => "╰ " , 
28692874        } 
28702875    } 
28712876
@@ -2978,11 +2983,7 @@ impl HumanEmitter {
29782983        col :  usize , 
29792984        is_cont :  bool , 
29802985    )  { 
2981-         let  chr = match  self . theme  { 
2982-             OutputTheme :: Ascii  => "= " , 
2983-             OutputTheme :: Unicode  if  is_cont => "├ " , 
2984-             OutputTheme :: Unicode  => "╰ " , 
2985-         } ; 
2986+         let  chr = self . note_separator ( is_cont) ; 
29862987        buffer. puts ( line,  col,  chr,  Style :: LineNumber ) ; 
29872988    } 
29882989
0 commit comments