File tree 7 files changed +39
-32
lines changed
7 files changed +39
-32
lines changed Original file line number Diff line number Diff line change @@ -533,6 +533,7 @@ impl Renderer {
533
533
buffer,
534
534
width_offset,
535
535
code_offset,
536
+ max_line_num_len,
536
537
margin,
537
538
) ;
538
539
@@ -605,6 +606,7 @@ impl Renderer {
605
606
last_buffer_line_num,
606
607
width_offset,
607
608
code_offset,
609
+ max_line_num_len,
608
610
margin,
609
611
) ;
610
612
@@ -646,6 +648,7 @@ impl Renderer {
646
648
buffer : & mut StyledBuffer ,
647
649
width_offset : usize ,
648
650
code_offset : usize ,
651
+ max_line_num_len : usize ,
649
652
margin : Margin ,
650
653
) -> Vec < ( usize , ElementStyle ) > {
651
654
// Draw:
@@ -684,6 +687,7 @@ impl Renderer {
684
687
line_offset,
685
688
width_offset,
686
689
code_offset,
690
+ max_line_num_len,
687
691
margin,
688
692
) ;
689
693
@@ -1185,6 +1189,7 @@ impl Renderer {
1185
1189
line_offset : usize ,
1186
1190
width_offset : usize ,
1187
1191
code_offset : usize ,
1192
+ max_line_num_len : usize ,
1188
1193
margin : Margin ,
1189
1194
) {
1190
1195
// Tabs are assumed to have been replaced by spaces in calling code.
@@ -1228,7 +1233,7 @@ impl Renderer {
1228
1233
buffer. puts (
1229
1234
line_offset,
1230
1235
0 ,
1231
- & self . maybe_anonymized ( line_index) ,
1236
+ & format ! ( "{:>max_line_num_len$}" , self . maybe_anonymized( line_index) ) ,
1232
1237
ElementStyle :: LineNumber ,
1233
1238
) ;
1234
1239
Original file line number Diff line number Diff line change @@ -102,11 +102,13 @@ impl Message<'_> {
102
102
fn newline_count ( body : & str ) -> usize {
103
103
#[ cfg( feature = "simd" ) ]
104
104
{
105
- memchr:: memchr_iter ( b'\n' , body. as_bytes ( ) ) . count ( )
105
+ memchr:: memchr_iter ( b'\n' , body. as_bytes ( ) )
106
+ . count ( )
107
+ . saturating_sub ( 1 )
106
108
}
107
109
#[ cfg( not( feature = "simd" ) ) ]
108
110
{
109
- body. lines ( ) . count ( )
111
+ body. lines ( ) . count ( ) . saturating_sub ( 1 )
110
112
}
111
113
}
112
114
Original file line number Diff line number Diff line change @@ -149,7 +149,7 @@ error:
149
149
|
150
150
::: file2.rs
151
151
|
152
- 2 | This is slice 2
152
+ 2 | This is slice 2
153
153
"# ] ] ;
154
154
let renderer = Renderer :: plain ( ) ;
155
155
assert_data_eq ! ( renderer. render( input) , expected) ;
Original file line number Diff line number Diff line change @@ -685,15 +685,15 @@ fn foo() {
685
685
error: foo
686
686
--> test.rs:3:6
687
687
|
688
- 3 | X0 Y0 Z0
688
+ 3 | X0 Y0 Z0
689
689
| _______^
690
- 4 | | X1 Y1 Z1
690
+ 4 | | X1 Y1 Z1
691
691
| | ____^____-
692
692
| ||____|
693
693
| | `X` is a good letter
694
- 5 | | 1
695
- 6 | | 2
696
- 7 | | 3
694
+ 5 | | 1
695
+ 6 | | 2
696
+ 7 | | 3
697
697
... |
698
698
15 | | X2 Y2 Z2
699
699
16 | | X3 Y3 Z3
@@ -739,15 +739,15 @@ fn foo() {
739
739
error: foo
740
740
--> test.rs:3:6
741
741
|
742
- 3 | X0 Y0 Z0
742
+ 3 | X0 Y0 Z0
743
743
| _______^
744
- 4 | | 1
745
- 5 | | 2
746
- 6 | | 3
747
- 7 | | X1 Y1 Z1
744
+ 4 | | 1
745
+ 5 | | 2
746
+ 6 | | 3
747
+ 7 | | X1 Y1 Z1
748
748
| | _________-
749
- 8 | || 4
750
- 9 | || 5
749
+ 8 | || 4
750
+ 9 | || 5
751
751
10 | || 6
752
752
11 | || X2 Y2 Z2
753
753
| ||__________- `Z` is a good letter too
You can’t perform that action at this time.
0 commit comments