pub async fn spawn(
config: ServerConfig,
workspace_root: PathBuf,
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>Expand description
Spawn a language server from a ServerConfig.
Performs the initialize handshake before returning. Failures
at any handshake step (spawn, framing, decode, server error
response, missing required capability) surface as
LspError. logger is the shared subsystem logger – in
production every server uses the App’s clone; tests pass a
fresh LspLogger::with_defaults().