pub async fn spawn(
        tenant: impl Into<String>,
        channel: SessionChannel,
        cmd: impl Into<String>,
        args: Vec<String>,
        detached: bool,
        pty: Option<PtySize>,
    ) -> Result<Self, RemoteProcessError> {
        let mut inner = RemoteProcess::spawn(tenant, channel, cmd, args, detached, pty).await?;
        let stdin = inner.stdin.take().map(RemoteLspStdin::new);
        let stdout = inner.stdout.take().map(RemoteLspStdout::new);
        let stderr = inner.stderr.take().map(RemoteLspStderr::new);

        Ok(RemoteLspProcess {
            inner,
            stdin,
            stdout,
            stderr,
        })
    }
/// Spawns the specified process on the remote machine using the given session, treating
/// the process like an LSP server
Spawns the specified process on the remote machine using the given session, treating
the process like an LSP server
Spawns the specified process on the remote machine using the given session treating the process like an LSP server
pub async fn spawn(
        tenant: impl Into<String>,
        channel: SessionChannel,
        cmd: impl Into<String>,
        args: Vec<String>,
        detached: bool,
        pty: Option<PtySize>,
    ) -> Result<Self, RemoteProcessError> {
        let mut inner = RemoteProcess::spawn(tenant, channel, cmd, args, detached, pty).await?;
        let stdin = inner.stdin.take().map(RemoteLspStdin::new);
        let stdout = inner.stdout.take().map(RemoteLspStdout::new);
        let stderr = inner.stderr.take().map(RemoteLspStderr::new);
        Ok(RemoteLspProcess {
            inner,
            stdin,
            stdout,
            stderr,
        })
    }
pub async fn spawn ( tenant : impl Into < String > , channel : SessionChannel , cmd : impl Into < String > , args : Vec < String > , detached : bool , pty : Option < PtySize > , ) -> Result < Self , RemoteProcessError > { let mut inner = RemoteProcess :: spawn ( tenant , channel , cmd , args , detached , pty ) . await ? ; let stdin = inner . stdin . take ( ) . map ( RemoteLspStdin :: new ) ; let stdout = inner . stdout . take ( ) . map ( RemoteLspStdout :: new ) ; let stderr = inner . stderr . take ( ) . map ( RemoteLspStderr :: new ) ; Ok ( RemoteLspProcess { inner , stdin , stdout , stderr , } ) }
Spawns the specified process on the remote machine using the given session, treating
the process like an LSP server
Spawns the specified process on the remote machine using the given session treating the process like an LSP server
tenant
impl Into<String>
channel
SessionChannel
cmd
impl Into<String>
args
Vec<String>
detached
bool
pty
Option<PtySize>