Skip to content

Commit bba97b5

Browse files
authored
Merge pull request #551 from guillaumeboehm/main
fix: Display offset for filenames with spaces
2 parents cd1d7d9 + dd938c6 commit bba97b5

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

src/output/grid.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,26 @@ impl<'a> Render<'a> {
5656
0
5757
};
5858

59+
let space_filename_offset = if file.name.contains(' ') || file.name.contains('\'') {
60+
2
61+
} else {
62+
0
63+
};
64+
5965
let contents = filename.paint();
66+
#[rustfmt::skip]
6067
let width = match (
6168
filename.options.embed_hyperlinks,
6269
filename.options.show_icons,
6370
) {
64-
#[rustfmt::skip]
65-
(EmbedHyperlinks::On, ShowIcons::Always(spacing)
66-
| ShowIcons::Automatic(spacing)) => filename.bare_width() + classification_width + 1 + (spacing as usize),
67-
(EmbedHyperlinks::On, ShowIcons::Never) => {
68-
filename.bare_width() + classification_width
69-
}
70-
(
71-
EmbedHyperlinks::Off,
72-
ShowIcons::Always(spacing) | ShowIcons::Automatic(spacing),
73-
) => filename.bare_width() + 1 + (spacing as usize),
74-
(EmbedHyperlinks::Off, _) => *contents.width(),
71+
( EmbedHyperlinks::On, ShowIcons::Always(spacing) | ShowIcons::Automatic(spacing) )
72+
=> filename.bare_width() + classification_width + 1 + (spacing as usize) + space_filename_offset,
73+
( EmbedHyperlinks::On, ShowIcons::Never )
74+
=> filename.bare_width() + classification_width + space_filename_offset,
75+
( EmbedHyperlinks::Off, ShowIcons::Always(spacing) | ShowIcons::Automatic(spacing) )
76+
=> filename.bare_width() + 1 + (spacing as usize) + space_filename_offset,
77+
( EmbedHyperlinks::Off, _ )
78+
=> *contents.width(),
7579
};
7680

7781
grid.add(tg::Cell {

src/output/grid_details.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,16 @@ impl<'a> Render<'a> {
162162
.map(|file| {
163163
let filename = self.file_style.for_file(file, self.theme);
164164
let contents = filename.paint();
165+
let space_filename_offset = if file.name.contains(' ') || file.name.contains('\'') {
166+
2
167+
} else {
168+
0
169+
};
165170
#[rustfmt::skip]
166171
let width = match (filename.options.embed_hyperlinks, filename.options.show_icons) {
167-
(EmbedHyperlinks::On, ShowIcons::Automatic(spacing)) => filename.bare_width() + 1 + (spacing as usize),
168-
(EmbedHyperlinks::On, ShowIcons::Always(spacing)) => filename.bare_width() + 1 + (spacing as usize),
169-
(EmbedHyperlinks::On, ShowIcons::Never) => filename.bare_width(),
172+
(EmbedHyperlinks::On, ShowIcons::Automatic(spacing)) => filename.bare_width() + 1 + (spacing as usize) + space_filename_offset,
173+
(EmbedHyperlinks::On, ShowIcons::Always(spacing)) => filename.bare_width() + 1 + (spacing as usize) + space_filename_offset,
174+
(EmbedHyperlinks::On, ShowIcons::Never) => filename.bare_width() + space_filename_offset,
170175
(EmbedHyperlinks::Off, _) => *contents.width(),
171176
};
172177

0 commit comments

Comments
 (0)