pub struct InboundShowMessageRequest {
pub server_id: Arc<str>,
pub workspace: Arc<Path>,
pub level: MessageType,
pub message: String,
pub actions: Vec<MessageActionItem>,
pub response: Sender<ShowMessageRequestOutcome>,
}Expand description
One server-initiated window/showMessageRequest request,
ferried from the LSP actor to the host’s drain.
Fields§
§server_id: Arc<str>Server that sent the request.
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.
level: MessageTypeSeverity. Used to colour the picker prompt + bias placement.
message: StringThe message text – displayed as the picker prompt.
actions: Vec<MessageActionItem>Action labels the user picks between. Empty when the
server attached no actions (degenerate – effectively
showMessage with a forced acknowledgement). The host
auto-replies None for the actionless case.
response: Sender<ShowMessageRequestOutcome>Oneshot the host fills after the user picks (or
dismisses) – held in lsp_pending_show_message_requests
until the picker resolves.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for InboundShowMessageRequest
impl !UnwindSafe for InboundShowMessageRequest
impl Freeze for InboundShowMessageRequest
impl Send for InboundShowMessageRequest
impl Sync for InboundShowMessageRequest
impl Unpin for InboundShowMessageRequest
impl UnsafeUnpin for InboundShowMessageRequest
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
Mutably borrows from an owned value. Read more
§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> ⓘ
Converts
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> ⓘ
Converts
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