Use file_name_width in grid

Filenames with characters that need multiple bytes in UTF-8, and/or
control characters like combining diacritics, would break the grid.
`StrExt::width` seems to do the right thing, and there's conveniently a
function here (which was otherwise unused) to call that.
This commit is contained in:
Corey Ford 2015-02-21 19:22:53 -08:00
parent a4e17193d9
commit 43e8061996

View File

@ -51,7 +51,7 @@ impl Grid {
else {
index / num_lines
};
column_widths[index] = max(column_widths[index], file.name.len());
column_widths[index] = max(column_widths[index], file.file_name_width());
}
// If they all fit in the terminal, combined, then success!
@ -87,8 +87,8 @@ impl Grid {
print!("{}", styled_name);
}
else {
assert!(widths[x] >= file.name.len());
print!("{}", Left.pad_string(&styled_name, widths[x] - file.name.len() + 2));
assert!(widths[x] >= file.file_name_width());
print!("{}", Left.pad_string(&styled_name, widths[x] - file.file_name_width() + 2));
}
}
print!("\n");