Skip to content

Conversation

@elijah-potter
Copy link
Collaborator

Issues

Closes #1848

Description

To allow consumers to differentiate which "rule" produced a given lint, I've added a new method, organized_lints, to LintGroup which produces a map (Rule -> Lint) which can be used downstream as a replacement for lint. I've gone ahead and used this new method to expose the source rule in the Harper Chrome extension. If feedback is favorable, I'll want to do the same for other integrations.

I took this methodology to allow us to continue using LintGroup as a general purpose tool, without customizing it for the curated case.

Demo

image

How Has This Been Tested?

Manually + some additional unit tests.

Checklist

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

@elijah-potter elijah-potter merged commit 43fcaf4 into master Sep 29, 2025
9 checks passed
@elijah-potter elijah-potter deleted the tag-lints branch September 29, 2025 15:18
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Oct 10, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v0.65.0` -> `v0.67.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.67.0`](https://github.com/Automattic/harper/releases/tag/v0.67.0)

[Compare Source](Automattic/harper@v0.66.0...v0.67.0)

#### What's Changed

- feat(core): Add support for Python docstrings by [@&#8203;rushter](https://github.com/rushter) in [#&#8203;2038](Automattic/harper#2038)
- feat(web): revise landing page by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2046](Automattic/harper#2046)
- fix(web): remove faq link by [@&#8203;mcecode](https://github.com/mcecode) in [#&#8203;2047](Automattic/harper#2047)
- fix(obsidian): properly manage dictionary by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2050](Automattic/harper#2050)
- fix(web): will now work on Hacker News by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2053](Automattic/harper#2053)
- docs: remove or update remaining faq page links by [@&#8203;mcecode](https://github.com/mcecode) in [#&#8203;2061](Automattic/harper#2061)
- build(deps): bump ordered-float from 5.0.0 to 5.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2059](Automattic/harper#2059)
- refactor(chrome-ext): drop jquery dependency by [@&#8203;Ingramz](https://github.com/Ingramz) in [#&#8203;2052](Automattic/harper#2052)
- fix(wasm): remove overlaps in the proper order by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2062](Automattic/harper#2062)
- fix(chrome-plugin): errors saving rule state in Firefox by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2064](Automattic/harper#2064)
- fix(chrome-ext): disable on comboboxes by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2063](Automattic/harper#2063)
- More irregular verbs for 'have went' linter by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;1973](Automattic/harper#1973)

#### New Contributors

- [@&#8203;rushter](https://github.com/rushter) made their first contribution in [#&#8203;2038](Automattic/harper#2038)
- [@&#8203;Ingramz](https://github.com/Ingramz) made their first contribution in [#&#8203;2052](Automattic/harper#2052)

**Full Changelog**: <Automattic/harper@v0.66.0...v0.67.0>

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

[Compare Source](Automattic/harper@v0.65.0...v0.66.0)

#### What's Changed

- fix: format of checkboxes was broken in feature request template by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;1992](Automattic/harper#1992)
- fix: org-mode add list item parsing with tab normalization by [@&#8203;eloycoto](https://github.com/eloycoto) in [#&#8203;1989](Automattic/harper#1989)
- feat(chrome-ext): use new CSS Highlights API where possible by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;1970](Automattic/harper#1970)
- feat: add ink support by [@&#8203;FreddieGilbraith](https://github.com/FreddieGilbraith) in [#&#8203;1894](Automattic/harper#1894)
- feat:besides the point→beside the point, don't can→can't by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2021](Automattic/harper#2021)
- Add more phrasal verb exceptions by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2002](Automattic/harper#2002)
- feat(core): create initial `MissingTo` rule by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;1990](Automattic/harper#1990)
- fix(core): address problems with prepositional phrases by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2022](Automattic/harper#2022)
- build(deps): bump tree-sitter from 0.25.9 to 0.25.10 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2029](Automattic/harper#2029)
- Criteria phenomena by [@&#8203;TomasoAlbinoni](https://github.com/TomasoAlbinoni) in [#&#8203;2028](Automattic/harper#2028)
- build(deps): bump serde from 1.0.226 to 1.0.228 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2032](Automattic/harper#2032)
- build(deps): bump thiserror from 2.0.16 to 2.0.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2030](Automattic/harper#2030)
- chore: missing words, annotations by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;1999](Automattic/harper#1999)
- feat(core): create tagged linting function by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;1998](Automattic/harper#1998)
- build(deps): bump indexmap from 2.11.1 to 2.11.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2031](Automattic/harper#2031)
- fix: nominal wants issue [#&#8203;2010](Automattic/harper#2010) by [@&#8203;hippietrail](https://github.com/hippietrail) in [#&#8203;2034](Automattic/harper#2034)
- fix(ci): reduce redundancy in CI by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2037](Automattic/harper#2037)
- feat(core): use a better quote-pairing algorithm by [@&#8203;elijah-potter](https://github.com/elijah-potter) in [#&#8203;2036](Automattic/harper#2036)

#### New Contributors

- [@&#8203;FreddieGilbraith](https://github.com/FreddieGilbraith) made their first contribution in [#&#8203;1894](Automattic/harper#1894)
- [@&#8203;TomasoAlbinoni](https://github.com/TomasoAlbinoni) made their first contribution in [#&#8203;2028](Automattic/harper#2028)

**Full Changelog**: <Automattic/harper@v0.65.0...v0.66.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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzIuNSIsInVwZGF0ZWRJblZlciI6IjQxLjEzNS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a way to get the name of the linter that generated a lint.

3 participants