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.
FixedPhrase
Matches a fixed sequence of tokens as they appear in the input. Case-insensitive for words but maintains exact matching for other token types.
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.
MergeableWords
A Pattern that identifies adjacent words that could potentially be merged into a single word.
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
SpelledNumberPattern
Matches spelled-out numbers from one to ninety-nine
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.