Automattic / Automattic/harper

False negative: irregular verb past participles used without aux

Open
#3,325 0 comments 0 reactions 0 assignees View on GitHub
bug false-negative grammar linting
Dominant language
Rust
Stars
15.4k
Forks
627
Avg merge
1d 12h
Merged PRs (30d)
106

Description

> I never used and never **seen** a zx spectrum in real life, but i will try the core.

Image

The "seen" form of "see" is called a "past participle". Only irregular verbs, like "see" have a past participle form that is not the same as the simple past tense form.

Past participles are used in various situations but here it is being used where a simple past tense is needed, **or** it lacks the auxiliary verb "have", needed to form what's called the "past perfect" tense.

The use of an adverb "never" may complicate detecting such cases. The fact that two verbs are used together with a conjunction "and" will definitely complicate it.

Here is a simplified illustrative example:
- ❌ I **seen** a Spectrum.
- ✅ I **saw** a Spectrum
- ✅ I **have seen** a Spectrum.

Note that the reverse also happens but is probably rarer and is likely limited to a few verbs. It can be easier to detect and is addressed by the `SimplePastToPastParticiple` linter.
- ❌ I have saw a Spectrum.

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the existing SimplePastToPastParticiple linter and its tests, then trace how irregular verb forms are identified in coordinated or adverb-modified clauses. Reproduce the reported “never used and never seen” example and add coverage for the missing auxiliary case. Done means incorrectly used past participles are reported without introducing false positives.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.