CompletionHandler

Trait CompletionHandler 

Source
pub trait CompletionHandler: Send + Sync {
    // Required methods
    fn handle<'life0, 'async_trait>(
        &'life0 self,
        request: CompleteRequestParams,
        ctx: RequestContext,
    ) -> Pin<Box<dyn Future<Output = ServerResult<CompletionResponse>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_completions<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        reference: &'life1 str,
        argument: Option<&'life2 str>,
        partial_value: Option<&'life3 str>,
        ctx: RequestContext,
    ) -> Pin<Box<dyn Future<Output = ServerResult<Vec<Value>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;

    // Provided methods
    fn max_completions(&self) -> usize { ... }
    fn supports_completion(&self, _reference: &str) -> bool { ... }
    fn filter_completions(
        &self,
        completions: Vec<Value>,
        partial_value: Option<&str>,
    ) -> Vec<Value> { ... }
}
Expand description

Completion handler trait for argument autocompletion

Required Methods§

Source

fn handle<'life0, 'async_trait>( &'life0 self, request: CompleteRequestParams, ctx: RequestContext, ) -> Pin<Box<dyn Future<Output = ServerResult<CompletionResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Handle a completion request

Source

fn get_completions<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, reference: &'life1 str, argument: Option<&'life2 str>, partial_value: Option<&'life3 str>, ctx: RequestContext, ) -> Pin<Box<dyn Future<Output = ServerResult<Vec<Value>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Get completion suggestions based on context

Provided Methods§

Source

fn max_completions(&self) -> usize

Get maximum number of completions to return

Source

fn supports_completion(&self, _reference: &str) -> bool

Check if completion is supported for the given reference

Source

fn filter_completions( &self, completions: Vec<Value>, partial_value: Option<&str>, ) -> Vec<Value>

Filter and rank completion options

Implementors§