pub struct IndexWatcher { /* private fields */ }Expand description
A running file-system watcher that triggers incremental re-indexing on file saves.
Created by IndexWatcher::start. Dropping the IndexWatcher aborts the
background Tokio task and the underlying notify watcher, stopping all
file-system monitoring.
§Examples
use std::sync::Arc;
use std::path::Path;
use zeph_index::watcher::IndexWatcher;
// Start watching — the returned handle keeps the watcher alive.
let _watcher = IndexWatcher::start(Path::new("."), indexer, None)?;Implementations§
Source§impl IndexWatcher
impl IndexWatcher
Sourcepub fn start(
root: &Path,
indexer: Arc<CodeIndexer>,
status_tx: Option<UnboundedSender<String>>,
) -> Result<Self>
pub fn start( root: &Path, indexer: Arc<CodeIndexer>, status_tx: Option<UnboundedSender<String>>, ) -> Result<Self>
Start the file-system watcher.
When status_tx is Some, a short status message is sent to it whenever a file
reindex begins, and an empty string is sent when it completes (clearing the TUI
status bar). Pass None in non-TUI modes where no status indicator is needed.
§Errors
Returns an error if the filesystem watcher cannot be initialized.
Auto Trait Implementations§
impl Freeze for IndexWatcher
impl RefUnwindSafe for IndexWatcher
impl Send for IndexWatcher
impl Sync for IndexWatcher
impl Unpin for IndexWatcher
impl UnsafeUnpin for IndexWatcher
impl UnwindSafe for IndexWatcher
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request