Add missing spawn_lsp method to SessionExt

pull/59/head
Chip Senkbeil 3 years ago
parent 0a11ec65a2
commit 6c1073a8ae
No known key found for this signature in database
GPG Key ID: 35EF1F8EC72A4131

@ -1,5 +1,5 @@
use crate::{
client::{RemoteProcess, RemoteProcessError, Session},
client::{RemoteLspProcess, RemoteProcess, RemoteProcessError, Session},
data::{DirEntry, Error as Failure, FileType, Request, RequestData, ResponseData},
net::TransportError,
};
@ -135,6 +135,14 @@ pub trait SessionExt {
args: Vec<String>,
) -> AsyncReturn<'_, RemoteProcess, RemoteProcessError>;
/// Spawns an LSP process on the remote machine
fn spawn_lsp(
&mut self,
tenant: impl Into<String>,
cmd: impl Into<String>,
args: Vec<String>,
) -> AsyncReturn<'_, RemoteLspProcess, RemoteProcessError>;
/// Writes a remote file with the data from a collection of bytes
fn write_file(
&mut self,
@ -183,7 +191,6 @@ macro_rules! make_body {
}
impl SessionExt for Session {
/// Appends to a remote file using the data from a collection of bytes
fn append_file(
&mut self,
tenant: impl Into<String>,
@ -198,7 +205,6 @@ impl SessionExt for Session {
)
}
/// Appends to a remote file using the data from a string
fn append_file_text(
&mut self,
tenant: impl Into<String>,
@ -213,7 +219,6 @@ impl SessionExt for Session {
)
}
/// Copies a remote file or directory from src to dst
fn copy(
&mut self,
tenant: impl Into<String>,
@ -228,7 +233,6 @@ impl SessionExt for Session {
)
}
/// Creates a remote directory, optionally creating all parent components if specified
fn create_dir(
&mut self,
tenant: impl Into<String>,
@ -243,7 +247,6 @@ impl SessionExt for Session {
)
}
/// Checks if a path exists on a remote machine
fn exists(
&mut self,
tenant: impl Into<String>,
@ -260,7 +263,6 @@ impl SessionExt for Session {
)
}
/// Retrieves metadata about a path on a remote machine
fn metadata(
&mut self,
tenant: impl Into<String>,
@ -299,7 +301,6 @@ impl SessionExt for Session {
)
}
/// Reads entries from a directory, returning a tuple of directory entries and failures
fn read_dir(
&mut self,
tenant: impl Into<String>,
@ -326,7 +327,6 @@ impl SessionExt for Session {
)
}
/// Reads a remote file as a collection of bytes
fn read_file(
&mut self,
tenant: impl Into<String>,
@ -343,7 +343,6 @@ impl SessionExt for Session {
)
}
/// Returns a remote file as a string
fn read_file_text(
&mut self,
tenant: impl Into<String>,
@ -360,8 +359,6 @@ impl SessionExt for Session {
)
}
/// Removes a remote file or directory, supporting removal of non-empty directories if
/// force is true
fn remove(
&mut self,
tenant: impl Into<String>,
@ -376,7 +373,6 @@ impl SessionExt for Session {
)
}
/// Renames a remote file or directory from src to dst
fn rename(
&mut self,
tenant: impl Into<String>,
@ -391,7 +387,6 @@ impl SessionExt for Session {
)
}
/// Spawns a process on the remote machine
fn spawn(
&mut self,
tenant: impl Into<String>,
@ -403,7 +398,17 @@ impl SessionExt for Session {
Box::pin(async move { RemoteProcess::spawn(tenant, self, cmd, args).await })
}
/// Writes a remote file with the data from a collection of bytes
fn spawn_lsp(
&mut self,
tenant: impl Into<String>,
cmd: impl Into<String>,
args: Vec<String>,
) -> AsyncReturn<'_, RemoteLspProcess, RemoteProcessError> {
let tenant = tenant.into();
let cmd = cmd.into();
Box::pin(async move { RemoteLspProcess::spawn(tenant, self, cmd, args).await })
}
fn write_file(
&mut self,
tenant: impl Into<String>,
@ -418,7 +423,6 @@ impl SessionExt for Session {
)
}
/// Writes a remote file with the data from a string
fn write_file_text(
&mut self,
tenant: impl Into<String>,

Loading…
Cancel
Save