Watcher

Struct Watcher 

Source
pub struct Watcher { /* private fields */ }
Expand description

A watcher that monitors files for changes and debounces events.

The Watcher struct is responsible for setting up a file watcher and debouncing file change events. It uses the notify crate to watch for file changes, and the notify-debouncer-full crate to debounce those events.

Implementations§

Source§

impl Watcher

Source

pub fn new(handler: impl DebounceEventHandler) -> Self

Creates a new file watcher with the provided debounce event handler.

The file watcher will debounce events for 2 seconds before triggering the provided handler. This helps to reduce the number of events that need to be processed, especially when many files are being watched and modified in quick succession.

§Arguments
  • handler - The debounce event handler to call when a file change is detected.
§Returns

A new instance of the file watcher.

Source

pub fn watch(&mut self, filename: &str) -> Result<(), Error>

Watches the specified file for changes.

This function sets up a file watcher to monitor the specified file for any changes. When a change is detected, the file is added to the debouncer’s cache to be processed later. The function returns a Result indicating whether the file watcher was successfully set up.

§Arguments
  • filename - The path to the file to be watched.
§Returns

A Result containing either an empty () value on success, or an Error on failure.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more