Skip to content

Commit 2807db7

Browse files
committed
fix: Add None case for finding max line number
1 parent 7db46b4 commit 2807db7

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/renderer/display_list.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,17 @@ impl<'a> fmt::Debug for DisplayList<'a> {
7272

7373
impl<'a> Display for DisplayList<'a> {
7474
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
75-
let lineno_width = self.body.iter().fold(0, |max, set| {
75+
let lineno_width = self.body.iter().fold(None, |max, set| {
7676
set.display_lines.iter().fold(max, |max, line| match line {
77-
DisplayLine::Source { lineno, .. } => cmp::max(lineno.unwrap_or(0), max),
77+
DisplayLine::Source { lineno, .. } => std::cmp::max(max, *lineno),
7878
_ => max,
7979
})
8080
});
81-
let lineno_width = if lineno_width == 0 {
82-
1
83-
} else if self.anonymized_line_numbers {
84-
ANONYMIZED_LINE_NUM.len()
85-
} else {
86-
((lineno_width as f64).log10().floor() as usize) + 1
81+
let lineno_width = match lineno_width {
82+
None => 0,
83+
Some(_max) if self.anonymized_line_numbers => ANONYMIZED_LINE_NUM.len(),
84+
Some(0) => 1,
85+
Some(max) => (max as f64).log10().floor() as usize + 1,
8786
};
8887

8988
let multiline_depth = self.body.iter().fold(0, |max, set| {

0 commit comments

Comments
 (0)