Skip to main content

PatternManager

Struct PatternManager 

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

Manager for before/after patterns.

On each poll of an expect operation, before patterns are checked before the explicit patterns (highest priority), and after patterns are checked after the explicit patterns fail to match (a fallback). This mirrors Tcl expect’s expect_before/expect_after semantics; after patterns do not run once an explicit pattern has matched.

Implementations§

Source§

impl PatternManager

Source

pub fn new() -> Self

Create a new pattern manager.

Source

pub fn add_before(&mut self, pattern: PersistentPattern) -> String

Add a before pattern and return its ID.

Source

pub fn add_after(&mut self, pattern: PersistentPattern) -> String

Add an after pattern and return its ID.

Source

pub fn remove_before(&mut self, id: &str) -> Option<PersistentPattern>

Remove a before pattern by ID.

Source

pub fn remove_after(&mut self, id: &str) -> Option<PersistentPattern>

Remove an after pattern by ID.

Source

pub fn get_before(&self, id: &str) -> Option<&PersistentPattern>

Get a before pattern by ID.

Source

pub fn get_before_mut(&mut self, id: &str) -> Option<&mut PersistentPattern>

Get a mutable before pattern by ID.

Source

pub fn get_after(&self, id: &str) -> Option<&PersistentPattern>

Get an after pattern by ID.

Source

pub fn get_after_mut(&mut self, id: &str) -> Option<&mut PersistentPattern>

Get a mutable after pattern by ID.

Source

pub fn check_before( &self, buffer: &str, ) -> Option<(String, HandlerAction, Pattern)>

Check before patterns against the buffer.

Returns (id, action, matched_pattern) for the first matching pattern, or None if none match. The matched pattern is returned so the caller can consume the triggering match from its buffer (via Matcher) and avoid re-firing on the next poll.

Source

pub fn check_after( &self, buffer: &str, ) -> Option<(String, HandlerAction, Pattern)>

Check after patterns against the buffer.

Returns (id, action, matched_pattern) for the first matching pattern, or None if none match. See Self::check_before for why the pattern is returned.

Source

pub fn before_pattern_set(&self) -> PatternSet

Get all before patterns as a PatternSet for matching.

Source

pub fn after_pattern_set(&self) -> PatternSet

Get all after patterns as a PatternSet for matching.

Source

pub fn clear_before(&mut self)

Clear all before patterns.

Source

pub fn clear_after(&mut self)

Clear all after patterns.

Source

pub fn clear_all(&mut self)

Clear all patterns.

Source

pub fn before_count(&self) -> usize

Get the number of before patterns.

Source

pub fn after_count(&self) -> usize

Get the number of after patterns.

Trait Implementations§

Source§

impl Debug for PatternManager

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PatternManager

Source§

fn default() -> PatternManager

Returns the “default value” for a type. Read more

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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