mirror of
https://gitlab.com/arnekeller/ascii-table.git
synced 2024-12-04 13:39:06 +00:00
Actually unicode_width is more suitable
This commit is contained in:
parent
73cc36ce71
commit
2d485d6b34
@ -17,4 +17,4 @@ keywords = ["ascii", "table"]
|
||||
colorful = "0.2"
|
||||
|
||||
[dependencies]
|
||||
unicode-segmentation = "1.7.1"
|
||||
unicode-width = "0.1.8"
|
||||
|
@ -58,7 +58,7 @@ mod test;
|
||||
use std::collections::BTreeMap;
|
||||
use std::fmt::Display;
|
||||
|
||||
use unicode_segmentation::UnicodeSegmentation;
|
||||
use unicode_width::UnicodeWidthStr;
|
||||
|
||||
const SE: &str = "┌";
|
||||
const NW: &str = "┘";
|
||||
@ -398,7 +398,7 @@ impl SmartString {
|
||||
fn char_len(&self) -> usize {
|
||||
self.fragments.iter()
|
||||
.filter(|(visible, _)| *visible)
|
||||
.map(|(_, string)| UnicodeSegmentation::graphemes(string.as_str(), true).count())
|
||||
.map(|(_, string)| UnicodeWidthStr::width(string.as_str()))
|
||||
.sum()
|
||||
}
|
||||
|
||||
|
16
src/test.rs
16
src/test.rs
@ -335,14 +335,14 @@ fn show_one_character_for_header2() {
|
||||
#[test]
|
||||
fn cube_with_partial_content() {
|
||||
let config = cube_config();
|
||||
let input: Vec<&[i32]> = vec![&[1, 2, 3], &[4, 5], &[7]];
|
||||
let expected = "┌───┬───┬───┐\n\
|
||||
│ a │ b │ c │\n\
|
||||
├───┼───┼───┤\n\
|
||||
│ 1 │ 2 │ 3 │\n\
|
||||
│ 4 │ 5 │ │\n\
|
||||
│ 7 │ │ │\n\
|
||||
└───┴───┴───┘\n";
|
||||
let input: Vec<&[&str]> = vec![&["1", "2", "😞"], &["4", "5"], &["7"]];
|
||||
let expected = "┌───┬───┬────┐\n\
|
||||
│ a │ b │ c │\n\
|
||||
├───┼───┼────┤\n\
|
||||
│ 1 │ 2 │ 😞 │\n\
|
||||
│ 4 │ 5 │ │\n\
|
||||
│ 7 │ │ │\n\
|
||||
└───┴───┴────┘\n";
|
||||
|
||||
assert_eq!(expected, config.format(input));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user