Trait gluon_language_server::rpc::LanguageServerCommand [−][src]
pub trait LanguageServerCommand<P>: Send + Sync + 'static where
Self::Future: Send + 'static, { type Future: IntoFuture<Item = Self::Output, Error = ServerError<Self::Error>> + Send + 'static; type Output: Serialize; type Error: Serialize; fn execute(&self, param: P) -> Self::Future; fn invalid_params(&self) -> Option<Self::Error> { ... } }
Associated Types
type Future: IntoFuture<Item = Self::Output, Error = ServerError<Self::Error>> + Send + 'static
type Output: Serialize
type Error: Serialize
Required Methods
Provided Methods
fn invalid_params(&self) -> Option<Self::Error>
Implementors
impl LanguageServerCommand<InitializeRequestArguments> for InitializeHandler type Future = BoxFuture<Self::Output, ServerError<Self::Error>>; type Output = Option<Capabilities>; type Error = ();
impl LanguageServerCommand<Value> for LaunchHandler type Future = BoxFuture<Self::Output, ServerError<Self::Error>>; type Output = Option<Value>; type Error = ();
impl LanguageServerCommand<DisconnectArguments> for DisconnectHandler type Future = BoxFuture<Self::Output, ServerError<Self::Error>>; type Output = Option<Value>; type Error = ();
impl<'de, F, R, P, O, E> LanguageServerCommand<P> for F where
F: Fn(P) -> R + Send + Sync + 'static,
R: IntoFuture<Item = O, Error = ServerError<E>> + Send + 'static,
R::Future: Send + 'static,
P: Deserialize<'de>,
O: Serialize,
E: Serialize, type Future = F::Output; type Output = O; type Error = E;