pub struct FileIndexCache { /* private fields */ }Expand description
A cached file index that can be shared across searches.
Implementations§
Source§impl FileIndexCache
impl FileIndexCache
pub fn new( search_directory: PathBuf, exclude: impl IntoIterator<Item = String>, respect_gitignore: bool, threads: usize, ) -> Self
Sourcepub async fn get_or_build(&self) -> Result<Arc<FileIndex>>
pub async fn get_or_build(&self) -> Result<Arc<FileIndex>>
Get or build the file index.
Sourcepub fn refresh_background(&self) -> Option<Arc<FileIndex>>
pub fn refresh_background(&self) -> Option<Arc<FileIndex>>
Force refresh the index in the background. Returns the old index immediately while rebuilding happens asynchronously.
Sourcepub fn update_file(&self, path: &str, is_added: bool)
pub fn update_file(&self, path: &str, is_added: bool)
Incrementally update the index when a file change is detected. This is faster than a full rebuild for single file changes.
Auto Trait Implementations§
impl Freeze for FileIndexCache
impl !RefUnwindSafe for FileIndexCache
impl Send for FileIndexCache
impl Sync for FileIndexCache
impl Unpin for FileIndexCache
impl UnsafeUnpin for FileIndexCache
impl !UnwindSafe for FileIndexCache
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
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 more