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§
Sourcefn 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 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
Sourcefn 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,
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§
Sourcefn max_completions(&self) -> usize
fn max_completions(&self) -> usize
Get maximum number of completions to return
Sourcefn supports_completion(&self, _reference: &str) -> bool
fn supports_completion(&self, _reference: &str) -> bool
Check if completion is supported for the given reference