summaryrefslogtreecommitdiffstats
path: root/src/ui/widgets
diff options
context:
space:
mode:
authorJiayi Zhao <jeff.no.zhao@gmail.com>2020-12-12 10:30:19 -0500
committerJiayi Zhao <jeff.no.zhao@gmail.com>2020-12-12 10:30:19 -0500
commit468e607c5d1cd5d554ae356fd3c8e78425840347 (patch)
tree37790a6abe8154836505ab3d1a7e8aaf26ada8b5 /src/ui/widgets
parent916d72c42cfc7bcb8fc560e17cb3bd75c00757da (diff)
fix crash caused by char boundary slicing
Diffstat (limited to 'src/ui/widgets')
-rw-r--r--src/ui/widgets/tui_tab.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/widgets/tui_tab.rs b/src/ui/widgets/tui_tab.rs
index f4045ed..73b4d1d 100644
--- a/src/ui/widgets/tui_tab.rs
+++ b/src/ui/widgets/tui_tab.rs
@@ -4,6 +4,8 @@ use tui::style::{Modifier, Style};
use tui::text::{Span, Spans};
use tui::widgets::{Paragraph, Widget, Wrap};
+use unicode_width::UnicodeWidthStr;
+
pub struct TuiTabBar<'a> {
name: &'a str,
curr: usize,
@@ -22,7 +24,7 @@ impl<'a> Widget for TuiTabBar<'a> {
let str1 = format!("{}/{}", self.curr + 1, self.len);
let str2 = {
- let space_avail = if str1.len() >= area.width as usize {
+ let space_avail = if str1.width() >= area.width as usize {
0
} else {
area.width as usize - str1.len()
@@ -30,7 +32,7 @@ impl<'a> Widget for TuiTabBar<'a> {
if space_avail >= self.name.len() {
self.name
} else {
- &self.name[..space_avail]
+ ""
}
};
let text = Spans::from(vec![