mirror of
https://github.com/zellij-org/zellij.git
synced 2024-11-23 19:10:09 +03:00
Very nearly working
This commit is contained in:
parent
a6ba792e89
commit
d509b0c339
@ -555,8 +555,7 @@ impl Tab {
|
||||
terminal.y() + 1,
|
||||
terminal.x() + 1,
|
||||
pad_to_size(&vte_output, terminal.rows(), terminal.columns())
|
||||
)
|
||||
.expect("cannot write to stdout");
|
||||
).expect("cannot write to stdout");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#![allow(clippy::clippy::if_same_then_else)]
|
||||
|
||||
use crate::tab::Pane;
|
||||
use crate::{tab::Pane, utils::shared::ansi_len};
|
||||
use ::nix::pty::Winsize;
|
||||
use ::std::os::unix::io::RawFd;
|
||||
use ::vte::Perform;
|
||||
|
@ -1,15 +1,15 @@
|
||||
use std::iter;
|
||||
use std::{iter, str::from_utf8};
|
||||
|
||||
use strip_ansi_escapes::strip;
|
||||
|
||||
// FIXME: Should this be an extension trait? Or here at all?
|
||||
pub fn ansi_len(s: &str) -> usize {
|
||||
strip(s.as_bytes()).unwrap().len()
|
||||
from_utf8(&strip(s.as_bytes()).unwrap()).unwrap().chars().count()
|
||||
}
|
||||
|
||||
pub fn pad_to_size(s: &str, rows: usize, columns: usize) -> String {
|
||||
s.lines()
|
||||
.map(|l| [l, &str::repeat(" ", dbg!(columns) - dbg!(ansi_len(l)))].concat())
|
||||
.map(|l| [l, &str::repeat(" ", columns - ansi_len(l))].concat())
|
||||
.chain(iter::repeat(str::repeat(" ", columns)))
|
||||
.take(rows)
|
||||
.collect::<Vec<_>>()
|
||||
|
Loading…
Reference in New Issue
Block a user