aboutsummaryrefslogtreecommitdiff
path: root/src/platform/fallback.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/fallback.rs')
-rw-r--r--src/platform/fallback.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/platform/fallback.rs b/src/platform/fallback.rs
index 09d82c6c..a533796f 100644
--- a/src/platform/fallback.rs
+++ b/src/platform/fallback.rs
@@ -13,6 +13,19 @@ pub(crate) fn set_default_plugin_pane_pwd(
) {
}
+pub(crate) fn forward_remote_bridge_stdio(stream: crate::ipc::LocalStream) -> std::io::Result<()> {
+ use interprocess::TryClone as _;
+
+ let mut stdout = std::io::stdout().lock();
+ let mut socket_to_stdout = stream.try_clone()?;
+ let mut stdin_to_socket = stream;
+ let _upload = std::thread::spawn(move || {
+ let mut stdin = std::io::stdin();
+ let _ = std::io::copy(&mut stdin, &mut stdin_to_socket);
+ });
+ std::io::copy(&mut socket_to_stdout, &mut stdout).map(|_| ())
+}
+
#[cfg(not(unix))]
pub(super) fn read_terminal_grid_size() -> std::io::Result<(u16, u16)> {
crossterm::terminal::size()