pub struct RemoteLspProcess {
    pub stdin: Option<RemoteLspStdin>,
    pub stdout: Option<RemoteLspStdout>,
    pub stderr: Option<RemoteLspStderr>,
    /* private fields */
}
Expand description

Represents an LSP server process on a remote machine

Fields§

§stdin: Option<RemoteLspStdin>§stdout: Option<RemoteLspStdout>§stderr: Option<RemoteLspStderr>

Implementations§

source§

impl RemoteLspProcess

source

pub async fn wait(self) -> Result<RemoteStatus>

Waits for the process to terminate, returning the success status and an optional exit code

Methods from Deref<Target = RemoteProcess>§

source

pub fn id(&self) -> ProcessId

Returns the id of the running process

source

pub fn origin_id(&self) -> &str

Returns the id of the request that spawned this process

source

pub async fn status(&self) -> Option<RemoteStatus>

Checks if the process has completed, returning the exit status if it has, without consuming the process itself. Note that this does not include join errors that can occur when aborting and instead converts any error to a status of false. To acquire the actual error, you must call wait

source

pub async fn resize(&self, size: PtySize) -> Result<()>

Resizes the pty of the remote process if it is attached to one

source

pub fn clone_resizer(&self) -> RemoteProcessResizer

Clones a copy of the remote process pty resizer

source

pub async fn kill(&mut self) -> Result<()>

Submits a kill request for the running process

source

pub fn clone_killer(&self) -> RemoteProcessKiller

Clones a copy of the remote process killer

source

pub fn abort(&self)

Aborts the process by forcing its response task to shutdown, which means that a call to wait will return an error. Note that this does not send a kill request, so if you want to be nice you should send the request before aborting.

Trait Implementations§

source§

impl Debug for RemoteLspProcess

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for RemoteLspProcess

§

type Target = RemoteProcess

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl DerefMut for RemoteLspProcess

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for Twhere T: 'static,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts reference to Any
source§

fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)

Converts mutable reference to Any
source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Consumes and produces Box<dyn Any>
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V