aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2021-01-06 10:10:25 +0100
committerAram Drevekenin <aram@poor.dev>2021-01-06 10:10:25 +0100
commitd8fca1d808d2bab0441ad3044a6512e5b2eaac96 (patch)
tree53e1663226d565e6bb9a1f7e920adaf24568c49a /src
parentAcutually pass combined position and size (diff)
downloadsl0ppij-d8fca1d808d2bab0441ad3044a6512e5b2eaac96.tar.gz
sl0ppij-d8fca1d808d2bab0441ad3044a6512e5b2eaac96.tar.xz
sl0ppij-d8fca1d808d2bab0441ad3044a6512e5b2eaac96.zip
fix(render): properly render plugin borders and content
Diffstat (limited to 'src')
-rw-r--r--src/tab.rs1
-rw-r--r--src/terminal_pane/plugin_pane.rs5
2 files changed, 5 insertions, 1 deletions
diff --git a/src/tab.rs b/src/tab.rs
index d3ce232a..5d77d56a 100644
--- a/src/tab.rs
+++ b/src/tab.rs
@@ -563,6 +563,7 @@ impl Tab {
// TBD
}
PaneKind::PluginPane(_) => {
+ boundaries.add_rect(&terminal);
if let Some(output) = terminal.render() {
write!(
stdout,
diff --git a/src/terminal_pane/plugin_pane.rs b/src/terminal_pane/plugin_pane.rs
index b3525338..3da072eb 100644
--- a/src/terminal_pane/plugin_pane.rs
+++ b/src/terminal_pane/plugin_pane.rs
@@ -111,7 +111,10 @@ impl Pane for PluginPane {
.unwrap();
self.should_render = false;
- Some(buf_rx.recv().unwrap())
+ let goto_plugin_coordinates = format!("\u{1b}[{};{}H", self.position_and_size.y + 1, self.position_and_size.x + 1); // goto row/col and reset styles
+ let reset_styles = "\u{1b}[m";
+ let vte_output = format!("{}{}{}", goto_plugin_coordinates, reset_styles, buf_rx.recv().unwrap());
+ Some(vte_output)
} else {
None
}