Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /