pub struct InboundApplyEdit {
pub server_id: Arc<str>,
pub workspace: Arc<Path>,
pub label: Option<String>,
pub edit: WorkspaceEdit,
pub response: Sender<ApplyEditOutcome>,
}Expand description
One server-initiated workspace/applyEdit request, ferried
from the LSP actor’s task to the host’s drain. Carries the
untyped LSP WorkspaceEdit (the host reuses its existing
flatten + apply path) plus a oneshot the host fills with the
outcome.
Fields§
§server_id: Arc<str>Server that sent the request. Used by the host’s echo /
log so the user can tell which language server is
asking. Cheap to clone (Arc<str>).
workspace: Arc<Path>Workspace root the originating actor was spawned against
(B’.2). Pairs with server_id to form the canonical
(server_id, workspace) instance key.
label: Option<String>Optional descriptive label the server attached to the
edit (e.g. "organize imports"). Spec field; we surface
it in the host’s echo and the log entry.
edit: WorkspaceEditThe edit to apply. The host’s existing
flatten_workspace_edit path turns this into per-file
edit batches.
response: Sender<ApplyEditOutcome>Oneshot the host fills after applying. The actor task
awaits this and converts the outcome into the LSP
Response.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for InboundApplyEdit
impl !UnwindSafe for InboundApplyEdit
impl Freeze for InboundApplyEdit
impl Send for InboundApplyEdit
impl Sync for InboundApplyEdit
impl Unpin for InboundApplyEdit
impl UnsafeUnpin for InboundApplyEdit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more