Skip to content

Conversation

@hippietrail
Copy link
Collaborator

Issues

Fixes #425

Description

This doesn't attempt to fix all errors with "let" and "lets", just the ones using a pronoun and an ungrammatical "to" before the verb such as "Let me to do it" and "This lets anybody to do it".

It even works with common errors such as "let's" in place of "lets", "noone" in place of "no one", "some body" in place of "somebody", etc.

It does not lint nouns or noun phrases, only pronouns:

  • 🚫 "Let the user to do it".
  • 🚫 "This lets non-native speakers to avoid mistakes".

Those are probably more complex and should probably be done as a separate linter, at which point both linters should probably be put into a LintGroup so that one named option enables/disables both.

How Has This Been Tested?

I've added unit tests for many combinations, preferably from sentences found on GitHub, but using a few other sites too.

Checklist

  • I have performed a self-review of my own code
  • I have added tests to cover my changes

@hippietrail hippietrail changed the title feat: let <pronoun> to do→let <pronoun> do feat: let/lets <pronoun> to do→let/lets <pronoun> do Nov 5, 2025
@elijah-potter elijah-potter added this pull request to the merge queue Nov 5, 2025
Merged via the queue into Automattic:master with commit 12f5788 Nov 5, 2025
12 checks passed
@hippietrail hippietrail deleted the let-to-do branch November 5, 2025 16:47
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Nov 10, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v0.70.0` -> `v0.71.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>Automattic/harper (Automattic/harper/harper-ls)</summary>

### [`v0.71.0`](https://github.com/Automattic/harper/releases/tag/v0.71.0)

[Compare Source](Automattic/harper@v0.70.0...v0.71.0)

#### What's Changed

- build(deps): bump clap from 4.5.48 to 4.5.50 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2112](Automattic/harper#2112)
- build(deps): bump getrandom from 0.3.3 to 0.3.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2113](Automattic/harper#2113)
- feat(vscode): support more platforms by [@&#8203;mcecode](https://github.com/mcecode) in [#&#8203;2116](Automattic/harper#2116)
- feat: introduce stale bot by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2117](Automattic/harper#2117)
- Add wasm-bindgen-cli to nix flake by [@&#8203;bjtitus](https://github.com/bjtitus) in [#&#8203;2108](Automattic/harper#2108)
- fix(core): refine acronym detection in `AnA` by [@&#8203;86xsk](https://github.com/86xsk) in [#&#8203;2109](Automattic/harper#2109)
- feat(core): create `SplitWords` linter by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2118](Automattic/harper#2118)
- Change tact by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2130](Automattic/harper#2130)
- feat: quite many→quite a few by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2129](Automattic/harper#2129)
- Fix typo in front page FAQ by [@&#8203;adamchainz](https://github.com/adamchainz) in [#&#8203;2125](Automattic/harper#2125)
- build(deps): bump clap from 4.5.50 to 4.5.51 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2127](Automattic/harper#2127)
- feat: sync language support by [@&#8203;mcecode](https://github.com/mcecode) in [#&#8203;2123](Automattic/harper#2123)
- feat: passerbys→passersby by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2135](Automattic/harper#2135)
- chore: reduce dependency load for new contributors by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2131](Automattic/harper#2131)
- feat(web): Add testimonials by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2139](Automattic/harper#2139)
- feat(core): more rules by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2107](Automattic/harper#2107)
- feat: let/lets `<pronoun>` to do→let/lets `<pronoun>` do by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2140](Automattic/harper#2140)
- feat:a lot of/most of the times→time by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2141](Automattic/harper#2141)
- fix(obsidian): ignore files by [@&#8203;Vinzent03](https://github.com/Vinzent03) in [#&#8203;2143](Automattic/harper#2143)
- fix: "reservation" annotations; issue [#&#8203;2120](Automattic/harper#2120) by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2134](Automattic/harper#2134)
- feat(chrome-ext): 'block rule' button by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2145](Automattic/harper#2145)
- fix: `description` and `message` were copypasted from another linter! by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2147](Automattic/harper#2147)
- feat: redundant "after <duration> later" by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2146](Automattic/harper#2146)

#### New Contributors

- [@&#8203;bjtitus](https://github.com/bjtitus) made their first contribution in [#&#8203;2108](Automattic/harper#2108)
- [@&#8203;adamchainz](https://github.com/adamchainz) made their first contribution in [#&#8203;2125](Automattic/harper#2125)
- [@&#8203;Vinzent03](https://github.com/Vinzent03) made their first contribution in [#&#8203;2143](Automattic/harper#2143)

**Full Changelog**: <Automattic/harper@v0.70.0...v0.71.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flag "let someone to do"

2 participants