[][src]Struct tower_lsp::LspService

pub struct LspService { /* fields omitted */ }

Service abstraction for the Language Server Protocol.

This service takes a JSON-RPC request as input and produces a JSON-RPC response as output. If the incoming request is a notification, then the corresponding response string will be empty.

This implements tower_service::Service in order to remain independent from the underlying transport and to facilitate further abstraction with middleware.

The service shuts down and stops serving requests after the exit notification is received.

Methods

impl LspService[src]

pub fn new<T>(server: T) -> (Self, MessageStream) where
    T: LanguageServer
[src]

Creates a new LspService with the given server backend, also returning a stream of notifications from the server back to the client.

pub fn with_handler<T, U>(server: T, handler: U) -> (Self, MessageStream) where
    T: LanguageServer,
    U: Into<IoHandler>, 
[src]

Creates a new LspService with the given server backend a custom IoHandler.

Trait Implementations

impl Debug for LspService[src]

impl Service<Incoming> for LspService[src]

type Response = Option<String>

Responses given by the service.

type Error = ExitedError

Errors produced by the service.

type Future = Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>> + Send>>

The future response value.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.