pub struct FileSystemCompletionHandler { /* private fields */ }Expand description
File system path completion handler
Provides completion suggestions for file system paths. This is useful for resource URIs that represent files and directories.
§Features
- Directory traversal with proper permissions handling
- File extension filtering
- Hidden file inclusion control
- Path normalization and validation
§Example
use prism_mcp_rs::core::completion_handlers::FileSystemCompletionHandler;
let handler = FileSystemCompletionHandler::new("/home/user")
.with_extensions(vec!["txt", "md", "json"])
.include_hidden_files(false);Implementations§
Source§impl FileSystemCompletionHandler
impl FileSystemCompletionHandler
Sourcepub fn new<P: AsRef<Path>>(base_path: P) -> Self
pub fn new<P: AsRef<Path>>(base_path: P) -> Self
Create a new file system completion handler
§Arguments
base_path- Base directory for file completions
Sourcepub fn with_extensions(self, extensions: Vec<&str>) -> Self
pub fn with_extensions(self, extensions: Vec<&str>) -> Self
Set whether to include hidden files
Sourcepub fn max_suggestions(self, max: usize) -> Self
pub fn max_suggestions(self, max: usize) -> Self
Set maximum number of suggestions
Trait Implementations§
Source§impl CompletionHandler for FileSystemCompletionHandler
impl CompletionHandler for FileSystemCompletionHandler
Source§fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
reference: &'life1 CompletionReference,
argument: &'life2 CompletionArgument,
_context: Option<&'life3 CompletionContext>,
) -> Pin<Box<dyn Future<Output = McpResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
reference: &'life1 CompletionReference,
argument: &'life2 CompletionArgument,
_context: Option<&'life3 CompletionContext>,
) -> Pin<Box<dyn Future<Output = McpResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generate completion suggestions Read more
Auto Trait Implementations§
impl Freeze for FileSystemCompletionHandler
impl RefUnwindSafe for FileSystemCompletionHandler
impl Send for FileSystemCompletionHandler
impl Sync for FileSystemCompletionHandler
impl Unpin for FileSystemCompletionHandler
impl UnsafeUnpin for FileSystemCompletionHandler
impl UnwindSafe for FileSystemCompletionHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].