Skip to main content

spawn_with_io

Function spawn_with_io 

Source
pub async fn spawn_with_io<R, W>(
    config: ServerConfig,
    workspace_root: PathBuf,
    reader: LspReader<R>,
    writer: LspWriter<W>,
    stderr: Option<ChildStderr>,
    child: Option<Child>,
    logger: LspLogger,
    apply_edit_bus: Option<ApplyEditBus>,
    configuration_bus: Option<ConfigurationBus>,
    show_document_bus: Option<ShowDocumentBus>,
    show_message_request_bus: Option<ShowMessageRequestBus>,
    event_bus: Option<Arc<EventBus>>,
) -> LspResult<ServerHandle>
where R: AsyncBufRead + Unpin + Send + 'static, W: AsyncWrite + Unpin + Send + 'static,
Expand description

Spawn the actor against pre-existing LspReader / LspWriter halves. Used by tests (mock server over a duplex pipe) and by future embedded transports (TCP, named pipe).

child is None for in-process tests (the duplex partner is a tokio task) and Some(_) for the real child-process path. When None, the shutdown sequence skips the child-exit wait.