aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-07 16:36:36 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-07 16:36:36 -0500
commit6310f6a57a51e2147a146477d1ef26eb63ae544b (patch)
treec13cc849fe84b9919940ebd4385c096f30c059b3
parent27e5bd06436ec327bb234cf2728fc3604b238255 (diff)
downloadteleterm-6310f6a57a51e2147a146477d1ef26eb63ae544b.tar.gz
teleterm-6310f6a57a51e2147a146477d1ef26eb63ae544b.zip
fix display for long search strings
-rw-r--r--src/cmd/play.rs29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/cmd/play.rs b/src/cmd/play.rs
index aa9d717..756c907 100644
--- a/src/cmd/play.rs
+++ b/src/cmd/play.rs
@@ -718,9 +718,18 @@ impl PlaySession {
self.write(
format!("\x1b[{};{}H", 4, size.cols - 32).as_bytes(),
)?;
- self.write(
- format!("│ {:28} │", state.query.as_str()).as_bytes(),
- )?;
+ let query_str = state.query.as_str();
+ if query_str.len() > 26 {
+ self.write(
+ format!("│ /{:24}... │", &query_str[0..24])
+ .as_bytes(),
+ )?;
+ } else {
+ let regex_str = format!("/{}/", query_str);
+ self.write(
+ format!("│ {:28} │", regex_str).as_bytes(),
+ )?;
+ }
self.write(
format!("\x1b[{};{}H", 5, size.cols - 32).as_bytes(),
@@ -749,7 +758,17 @@ impl PlaySession {
self.write(
format!("\x1b[{};{}H", 4, size.cols - 32).as_bytes(),
)?;
- self.write(format!("│ {:28} │", query).as_bytes())?;
+ self.write(
+ format!(
+ "│ {:28} │",
+ if query.len() > 28 {
+ &query[query.len() - 28..]
+ } else {
+ query
+ }
+ )
+ .as_bytes(),
+ )?;
self.write(
format!("\x1b[{};{}H", 5, size.cols - 32).as_bytes(),
@@ -762,7 +781,7 @@ impl PlaySession {
format!(
"\x1b8\x1b[{};{}H\x1b[?25h",
4,
- size.cols as usize - 32 + 2 + query.len()
+ size.cols as usize - 32 + 2 + query.len().min(28)
)
.as_bytes(),
)?;