ExprLinter

Trait ExprLinter 

Source
pub trait ExprLinter: LSend {
    // Required methods
    fn expr(&self) -> &dyn Expr;
    fn match_to_lint(
        &self,
        matched_tokens: &[Token],
        source: &[char],
    ) -> Option<Lint>;
    fn description(&self) -> &str;
}
Expand description

A trait that searches for tokens that fulfil Exprs in a Document.

Makes use of TokenStringExt::iter_chunks to avoid matching across sentence or clause boundaries.

Required Methods§

Source

fn expr(&self) -> &dyn Expr

A simple getter for the expression you want Harper to search for.

Source

fn match_to_lint( &self, matched_tokens: &[Token], source: &[char], ) -> Option<Lint>

If any portions of a Document match Self::expr, they are passed through ExprLinter::match_to_lint to be transformed into a Lint for editor consumption.

This function may return None to elect not to produce a lint.

Source

fn description(&self) -> &str

A user-facing description of what kinds of grammatical errors this rule looks for. It is usually shown in settings menus.

Implementations on Foreign Types§

Source§

impl<EL: ExprLinter + ?Sized> ExprLinter for Box<EL>

Source§

fn expr(&self) -> &dyn Expr

Source§

fn match_to_lint( &self, matched_tokens: &[Token], source: &[char], ) -> Option<Lint>

Source§

fn description(&self) -> &str

Implementors§

Source§

impl ExprLinter for APart

Source§

impl ExprLinter for Addicting

Source§

impl ExprLinter for AdjectiveDoubleDegree

Source§

impl ExprLinter for AllIntentsAndPurposes

Source§

impl ExprLinter for AmInTheMorning

Source§

impl ExprLinter for AmountsFor

Source§

impl ExprLinter for AnotherThingComing

Source§

impl ExprLinter for AnotherThinkComing

Source§

impl ExprLinter for AskNoPreposition

Source§

impl ExprLinter for AvoidCurses

Source§

impl ExprLinter for BackInTheDay

Source§

impl ExprLinter for BestOfAllTime

Source§

impl ExprLinter for BoringWords

Source§

impl ExprLinter for Cant

Source§

impl ExprLinter for ChockFull

Source§

impl ExprLinter for Confident

Source§

impl ExprLinter for CriteriaPhenomena

Source§

impl ExprLinter for Dashes

Source§

impl ExprLinter for DespiteOf

Source§

impl ExprLinter for DotInitialisms

Source§

impl ExprLinter for DoubleModal

Source§

impl ExprLinter for Everyday

Source§

impl ExprLinter for ExpandMemoryShorthands

Source§

impl ExprLinter for ExpandTimeShorthands

Source§

impl ExprLinter for FeelFell

Source§

impl ExprLinter for FewUnitsOfTimeAgo

Source§

impl ExprLinter for FillerWords

Source§

impl ExprLinter for ForNoun

Source§

impl ExprLinter for FriendOfMe

Source§

impl ExprLinter for HavePronoun

Source§

impl ExprLinter for HaveTakeALook

Source§

impl ExprLinter for Hedging

Source§

impl ExprLinter for Hereby

Source§

impl ExprLinter for HowTo

Source§

impl ExprLinter for HyphenateNumberDay

Source§

impl ExprLinter for IAmAgreement

Source§

impl ExprLinter for InOnTheCards

Source§

impl ExprLinter for InitialismLinter

Source§

impl ExprLinter for InterestedIn

Source§

impl ExprLinter for ItLooksLikeThat

Source§

impl ExprLinter for ItsPossessive

Source§

impl ExprLinter for LeftRightHand

Source§

impl ExprLinter for LessWorse

Source§

impl ExprLinter for Likewise

Source§

impl ExprLinter for LookingForwardTo

Source§

impl ExprLinter for MapPhraseLinter

Source§

impl ExprLinter for MissingPreposition

Source§

impl ExprLinter for MissingTo

Source§

impl ExprLinter for MixedBag

Source§

impl ExprLinter for ModalOf

Source§

impl ExprLinter for Months

Source§

impl ExprLinter for MostNumber

Source§

impl ExprLinter for MultipleSequentialPronouns

Source§

impl ExprLinter for NailOnTheHead

Source§

impl ExprLinter for NoMatchFor

Source§

impl ExprLinter for Nobody

Source§

impl ExprLinter for NounCountability

Source§

impl ExprLinter for OfCourse

Source§

impl ExprLinter for OnFloor

Source§

impl ExprLinter for OneAndTheSame

Source§

impl ExprLinter for OpenTheLight

Source§

impl ExprLinter for OughtToBe

Source§

impl ExprLinter for OutOfDate

Source§

impl ExprLinter for Oxymorons

Source§

impl ExprLinter for PiqueInterest

Source§

impl ExprLinter for PossessiveYour

Source§

impl ExprLinter for ProgressiveNeedsBe

Source§

impl ExprLinter for PronounInflectionBe

Source§

impl ExprLinter for QuantifierNeedsOf

Source§

impl ExprLinter for QuiteQuiet

Source§

impl ExprLinter for RedundantAdditiveAdverbs

Source§

impl ExprLinter for Regionalisms

Source§

impl ExprLinter for SaveToSafe

Source§

impl ExprLinter for SemicolonApostrophe

Source§

impl ExprLinter for ShootOneselfInTheFoot

Source§

impl ExprLinter for SimplePastToPastParticiple

Source§

impl ExprLinter for SinceDuration

Source§

impl ExprLinter for SomewhatSomething

Source§

impl ExprLinter for SoughtAfter

Source§

impl ExprLinter for TakeSerious

Source§

impl ExprLinter for ThatThan

Source§

impl ExprLinter for ThatWhich

Source§

impl ExprLinter for TheHowWhy

Source§

impl ExprLinter for TheMy

Source§

impl ExprLinter for ThenThan

Source§

impl ExprLinter for ThingThink

Source§

impl ExprLinter for ThoughThought

Source§

impl ExprLinter for Touristic

Source§

impl ExprLinter for UseGenitive

Source§

impl ExprLinter for VeryUnique

Source§

impl ExprLinter for WasAloud

Source§

impl ExprLinter for WayTooAdjective

Source§

impl ExprLinter for Whereas

Source§

impl ExprLinter for WidelyAccepted

Source§

impl ExprLinter for WinPrize

Source§

impl ExprLinter for WouldNeverHave

Source§

impl<'a> ExprLinter for MapPhraseSetLinter<'a>

Source§

impl<'a> ExprLinter for UpdatePlaceNames<'a>

Source§

impl<D> ExprLinter for MassPlurals<D>
where D: Dictionary,

Source§

impl<D> ExprLinter for PossessiveNoun<D>
where D: Dictionary,