pub struct InboundConfigurationRequest {
pub server_id: Arc<str>,
pub workspace: Arc<Path>,
pub sections: Vec<String>,
pub response: Sender<Vec<Value>>,
}Expand description
One server-initiated workspace/configuration request,
ferried from the LSP actor to the editor’s per-tick drain.
Carries the requested section paths verbatim; the handler
walks each in the shared TOML tree and writes the per-section
values back via the embedded oneshot in the same order.
Fields§
§server_id: Arc<str>Server that sent the request – recorded for the App’s
log entry. 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.
sections: Vec<String>One section path per requested item. Spec lets section
be null/missing (server wants all config); we coerce
those to an empty string upstream so the app always sees
a string.
response: Sender<Vec<Value>>Oneshot the handler fills with one serde_json::Value per
section (in input order). Missing sections come back as
Value::Null.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for InboundConfigurationRequest
impl !UnwindSafe for InboundConfigurationRequest
impl Freeze for InboundConfigurationRequest
impl Send for InboundConfigurationRequest
impl Sync for InboundConfigurationRequest
impl Unpin for InboundConfigurationRequest
impl UnsafeUnpin for InboundConfigurationRequest
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