Skip to content

Commit 1cc6e95

Browse files
committed
fix: Add None case for finding max line number
1 parent eed400f commit 1cc6e95

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/renderer/display_list.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,22 @@ 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 max_lineno = self.body.iter().fold(0, |max, set| {
75+
let max_lineno = 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, .. } => match (max, lineno) {
78+
(Some(max), Some(lineno)) => Some(cmp::max(max, *lineno)),
79+
(Some(max), None) => Some(max),
80+
(None, Some(lineno)) => Some(*lineno),
81+
(None, None) => None,
82+
},
7883
_ => max,
7984
})
8085
});
81-
let lineno_width = if max_lineno == 0 {
82-
1
83-
} else if self.anonymized_line_numbers {
84-
ANONYMIZED_LINE_NUM.len()
85-
} else {
86-
((max_lineno as f64).log10().floor() as usize) + 1
86+
let lineno_width = match max_lineno {
87+
None => 0,
88+
Some(0) => 1,
89+
Some(_max) if self.anonymized_line_numbers => ANONYMIZED_LINE_NUM.len(),
90+
Some(max) => (max as f64).log10().floor() as usize + 1,
8791
};
8892

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

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy