diff options
| author | Brooks J Rady <b.j.rady@gmail.com> | 2021-01-06 12:53:12 +0000 |
|---|---|---|
| committer | Brooks J Rady <b.j.rady@gmail.com> | 2021-01-06 12:53:12 +0000 |
| commit | a6ba792e89e1e2b7afca7025529c97266e903fd4 (patch) | |
| tree | 3ca52274d672c3b5a26192d322c211768b986b8c /src/utils | |
| parent | fix(render): properly render plugin borders and content (diff) | |
| download | sl0ppij-a6ba792e89e1e2b7afca7025529c97266e903fd4.tar.gz sl0ppij-a6ba792e89e1e2b7afca7025529c97266e903fd4.tar.xz sl0ppij-a6ba792e89e1e2b7afca7025529c97266e903fd4.zip | |
Also borken
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/mod.rs | 1 | ||||
| -rw-r--r-- | src/utils/shared.rs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 140eec18..0ea4c76f 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,2 +1,3 @@ pub mod consts; pub mod logging; +pub mod shared; diff --git a/src/utils/shared.rs b/src/utils/shared.rs new file mode 100644 index 00000000..3b8b5fbd --- /dev/null +++ b/src/utils/shared.rs @@ -0,0 +1,17 @@ +use std::iter; + +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() +} + +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()) + .chain(iter::repeat(str::repeat(" ", columns))) + .take(rows) + .collect::<Vec<_>>() + .join("\n\r") +} |
