summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiayi Zhao <jeff.no.zhao@gmail.com>2019-02-20 15:49:02 -0500
committerJiayi Zhao <jeff.no.zhao@gmail.com>2019-02-20 15:49:02 -0500
commit412b1ebb44382522084f615d58cb75374bc64778 (patch)
treeb0a5a341f99621a803ca21abddbac1d5a2637b48
parent38ec4f9d50388ff0cbf8f0915428c7093cc6f586 (diff)
fix pressing end button removes 'cursor'
-rw-r--r--src/textfield.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/textfield.rs b/src/textfield.rs
index b1294e0..e4cd8da 100644
--- a/src/textfield.rs
+++ b/src/textfield.rs
@@ -36,7 +36,7 @@ impl JoshutoTextField {
fn readline_(
&self,
- mut buffer: Vec<(char)>,
+ mut buffer: Vec<char>,
mut curs_x: i32,
mut curr_index: usize,
) -> Option<String> {
@@ -80,8 +80,9 @@ impl JoshutoTextField {
} else if ch == ncurses::KEY_END {
let buffer_len = buffer.len();
if curr_index != buffer_len {
- for x in &buffer {
- curs_x += *x as i32;
+ for i in curr_index..buffer_len {
+ curs_x += unicode_width::UnicodeWidthChar::width(buffer[i])
+ .unwrap_or(1) as i32;
}
curr_index = buffer_len;
}