Module patterns

Source
Expand description

Patterns are one of the more powerful ways to query text inside Harper, especially for beginners.

Through the PatternLinter trait, they make it much easier to build Harper rules.

See the page about SequencePattern for a concrete example of their use.

Structs§

All
A Pattern that consumes a list of other patterns and only matches if all the child patterns do.
AnyPattern
Matches any single token.
EitherPattern
A pattern that returns the value of the longest match in a list.
ExactPhrase
ImpliesQuantity
This struct does two things.
IndefiniteArticle
InflectionOfBe
Matches any inflection of the verb “be”: am, is, are, was, were, be, been, being.
Invert
A struct that matches any pattern except the one provided.
NaivePatternGroup
A naive pattern collection that naively iterates through a list of patterns, returning the first one that matches.
NominalPhrase
PatternMap
A map from Pattern to arbitrary data.
RepeatingPattern
A pattern that will match one or more repetitions of the same pattern.
SequencePattern
A pattern that checks that a sequence of other patterns match. There are specific extension methods available, but you can also use Self::then to add arbitrary patterns.
SimilarToPhrase
SplitCompoundWord
A Pattern that looks for valid words accidentally split by whitespace.
WhitespacePattern
Word
Matches a predefined word.
WordPatternGroup
A pattern collection to look for patterns that start with a specific word.
WordSet
A super::Pattern that matches against any of a set of provided words. For small sets of short words, it doesn’t allocate.

Traits§

DocPattern
OwnedPatternExt
Pattern
PatternExt
SingleTokenPattern
A simpler version of the Pattern trait that only matches a single token.