fix: warn about clashing linter names#2374
Conversation
elijah-potter
left a comment
There was a problem hiding this comment.
I like the idea, but I don't love having these methods do IO of any kind. Would it be possible to refactor this into a test case on the curated LintGroup?
Putting this straight in my inbox for today! |
I made it a test by adding an I took the opportunity to refactor the curated linter constructor too by adding new macros to add linters that use either a dialect or dictionary. But not for I did not remove any of the three clashing Until then this PR will show up as failing of course! |
…nter-clash-2343
…nter-clash-2343
…nter-clash-2343
…nter-clash-2343
elijah-potter
left a comment
There was a problem hiding this comment.
Looks great to me! I went ahead and resolved the existing conflicts.
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v1.9.0` → `v1.12.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> ### [`v1.12.0`](https://github.com/Automattic/harper/releases/tag/v1.12.0) [Compare Source](Automattic/harper@v1.11.0...v1.12.0) #### What's Changed - fix(chrome-ext): formatting issues on Google Docs by [@​elijah-potter](https://github.com/elijah-potter) in [#​2960](Automattic/harper#2960) - feat: grind to halt → grind to a halt by [@​hippietrail](https://github.com/hippietrail) in [#​2972](Automattic/harper#2972) - fix: correct typos and grammar in docs and comments by [@​cl2t](https://github.com/cl2t) in [#​2971](Automattic/harper#2971) - feat: bullocks→bollocks by [@​hippietrail](https://github.com/hippietrail) in [#​2970](Automattic/harper#2970) - feat: add lint rule for "more that likely" typo by [@​ctonneslan](https://github.com/ctonneslan) in [#​2964](Automattic/harper#2964) - fix: solve issue [#​2966](Automattic/harper#2966) by [@​hippietrail](https://github.com/hippietrail) in [#​2967](Automattic/harper#2967) - feat: I am worry→I am worried by [@​hippietrail](https://github.com/hippietrail) in [#​2943](Automattic/harper#2943) - feat: add lint rule for "cutting age" eggcorn by [@​ctonneslan](https://github.com/ctonneslan) in [#​2965](Automattic/harper#2965) - feat: at the expanse of→at the expense of by [@​hippietrail](https://github.com/hippietrail) in [#​2926](Automattic/harper#2926) #### New Contributors - [@​cl2t](https://github.com/cl2t) made their first contribution in [#​2971](Automattic/harper#2971) - [@​ctonneslan](https://github.com/ctonneslan) made their first contribution in [#​2964](Automattic/harper#2964) **Full Changelog**: <Automattic/harper@v1.11.0...v1.12.0> ### [`v1.11.0`](https://github.com/Automattic/harper/releases/tag/v1.11.0) [Compare Source](Automattic/harper@v1.10.0...v1.11.0) #### What's Changed - chore: dictionary curation by [@​hippietrail](https://github.com/hippietrail) in [#​2867](Automattic/harper#2867) - feat: do a mistake→make a mistake by [@​hippietrail](https://github.com/hippietrail) in [#​2463](Automattic/harper#2463) - refactor: two-digit decade support by [@​hippietrail](https://github.com/hippietrail) in [#​2911](Automattic/harper#2911) - fix: warn about clashing linter names by [@​hippietrail](https://github.com/hippietrail) in [#​2374](Automattic/harper#2374) - feat(core): flag redundant use of progressive verbs followed by "more" by [@​elijah-potter](https://github.com/elijah-potter) in [#​2859](Automattic/harper#2859) - feat: hit the nail in the head→on the head by [@​hippietrail](https://github.com/hippietrail) in [#​2918](Automattic/harper#2918) - build(deps): bump tempfile from 3.20.0 to 3.27.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2939](Automattic/harper#2939) - build(deps): bump tree-sitter-lua from 0.4.1 to 0.5.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2938](Automattic/harper#2938) - build(deps): bump clap from 4.5.60 to 4.6.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2937](Automattic/harper#2937) - fix(core): test which was testing the wrong thing by [@​elijah-potter](https://github.com/elijah-potter) in [#​2946](Automattic/harper#2946) - feature/obsidian-colored lints by [@​stanley-910](https://github.com/stanley-910) in [#​2931](Automattic/harper#2931) - refactor: `once_cell`→`LazyLock` by [@​hippietrail](https://github.com/hippietrail) in [#​2942](Automattic/harper#2942) - deps: bump rand to 0.10.0 by [@​86xsk](https://github.com/86xsk) in [#​2947](Automattic/harper#2947) - feat: commitment toward(s) → commitment to by [@​hippietrail](https://github.com/hippietrail) in [#​2948](Automattic/harper#2948) - feat: add geo acronyms by [@​tongpu](https://github.com/tongpu) in [#​2687](Automattic/harper#2687) - feat: bump spell fixes differing by an apostrophe by [@​hippietrail](https://github.com/hippietrail) in [#​2927](Automattic/harper#2927) - build(deps): bump once\_cell from 1.21.3 to 1.21.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2936](Automattic/harper#2936) - feat(chrome-ext): replace icons with cleaner variants by [@​elijah-potter](https://github.com/elijah-potter) in [#​2949](Automattic/harper#2949) - feat: reason of doing→reason for doing by [@​hippietrail](https://github.com/hippietrail) in [#​2953](Automattic/harper#2953) - feat: the different(s) between→the difference between by [@​hippietrail](https://github.com/hippietrail) in [#​2951](Automattic/harper#2951) - Dictionary curation 2026 03 13 by [@​hippietrail](https://github.com/hippietrail) in [#​2941](Automattic/harper#2941) - perf(core): avoid cloning in `DictWordMetadata::append` by [@​86xsk](https://github.com/86xsk) in [#​2912](Automattic/harper#2912) - refactor: most `ExprLinter`s don't need to be boxed by [@​hippietrail](https://github.com/hippietrail) in [#​2885](Automattic/harper#2885) - feat: womans→women, writed→wrote, etc. by [@​hippietrail](https://github.com/hippietrail) in [#​2812](Automattic/harper#2812) #### New Contributors - [@​tongpu](https://github.com/tongpu) made their first contribution in [#​2687](Automattic/harper#2687) **Full Changelog**: <Automattic/harper@v1.10.0...v1.11.0> ### [`v1.10.0`](https://github.com/Automattic/harper/releases/tag/v1.10.0) [Compare Source](Automattic/harper@v1.9.0...v1.10.0) #### What's Changed - build(deps): bump pulldown-cmark from 0.13.0 to 0.13.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2848](Automattic/harper#2848) - build(deps): bump chrono from 0.4.43 to 0.4.44 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2852](Automattic/harper#2852) - build(deps): bump quickcheck from 1.0.3 to 1.1.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2850](Automattic/harper#2850) - chore: dictionary curation by [@​hippietrail](https://github.com/hippietrail) in [#​2822](Automattic/harper#2822) - build(deps): bump zip from 8.0.0 to 8.1.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2849](Automattic/harper#2849) - build(deps): bump strum\_macros from 0.27.2 to 0.28.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2851](Automattic/harper#2851) - feat: hidden into→hidden in by [@​hippietrail](https://github.com/hippietrail) in [#​2844](Automattic/harper#2844) - feat: the point for→the point of by [@​hippietrail](https://github.com/hippietrail) in [#​2834](Automattic/harper#2834) - feat(core): more edge cases in `MissingTo` rule by [@​lewismiddleton](https://github.com/lewismiddleton) in [#​2837](Automattic/harper#2837) - feat(core): `chalkboard` is a closed compound by [@​elijah-potter](https://github.com/elijah-potter) in [#​2858](Automattic/harper#2858) - feat(chrome-ext): build out support for the online Typst playground by [@​elijah-potter](https://github.com/elijah-potter) in [#​2706](Automattic/harper#2706) - fix(core): edge case in `ItsPossessive` rule by [@​elijah-potter](https://github.com/elijah-potter) in [#​2857](Automattic/harper#2857) - feat: print linter match with context by [@​hippietrail](https://github.com/hippietrail) in [#​2303](Automattic/harper#2303) - feat: fed up of→fed up with by [@​hippietrail](https://github.com/hippietrail) in [#​2833](Automattic/harper#2833) - feat(obsidian): listen to changes to `data.json` by [@​elijah-potter](https://github.com/elijah-potter) in [#​2868](Automattic/harper#2868) - fix(obsidian): remove default hotkey by [@​elijah-potter](https://github.com/elijah-potter) in [#​2869](Automattic/harper#2869) - feat: get used of→get used to by [@​hippietrail](https://github.com/hippietrail) in [#​2831](Automattic/harper#2831) - fix: don't flag "our IT" by [@​hippietrail](https://github.com/hippietrail) in [#​2872](Automattic/harper#2872) - feat: flag "often never" and similar by [@​hippietrail](https://github.com/hippietrail) in [#​2871](Automattic/harper#2871) - fix(core): recognize "esp." as an abbreviation by [@​NaveenPrasanth](https://github.com/NaveenPrasanth) in [#​2816](Automattic/harper#2816) - fix(core): adjust how words are iterated in `title_case` by [@​elijah-potter](https://github.com/elijah-potter) in [#​2875](Automattic/harper#2875) - feat: off coarse→of course by [@​hippietrail](https://github.com/hippietrail) in [#​2878](Automattic/harper#2878) - feat(chrome-ext): support for Google Docs by [@​elijah-potter](https://github.com/elijah-potter) in [#​2791](Automattic/harper#2791) - refactor(core): refactor code in `MissingTo` by [@​86xsk](https://github.com/86xsk) in [#​2876](Automattic/harper#2876) - feat: IIUC→if I understand correctly by [@​hippietrail](https://github.com/hippietrail) in [#​2896](Automattic/harper#2896) - build(deps): bump tree-sitter-powershell from 0.25.10 to 0.26.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2890](Automattic/harper#2890) - build(deps): bump uuid from 1.21.0 to 1.22.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2889](Automattic/harper#2889) - build(deps): bump tokio from 1.49.0 to 1.50.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2891](Automattic/harper#2891) - fix(harper-tex): math mode problems by [@​elijah-potter](https://github.com/elijah-potter) in [#​2899](Automattic/harper#2899) - build(deps): bump sysinfo from 0.38.2 to 0.38.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2893](Automattic/harper#2893) - refactor: tests for spell/mod.rs and and linting/spell\_check.rs were arbitrarily mixed by [@​hippietrail](https://github.com/hippietrail) in [#​2809](Automattic/harper#2809) - feat: aware about→aware of by [@​hippietrail](https://github.com/hippietrail) in [#​2902](Automattic/harper#2902) - feat: it´s→it's by [@​hippietrail](https://github.com/hippietrail) in [#​2884](Automattic/harper#2884) - feat: in some degree→to some degree by [@​hippietrail](https://github.com/hippietrail) in [#​2883](Automattic/harper#2883) - feat(chrome-ext): surface update instructions by [@​elijah-potter](https://github.com/elijah-potter) in [#​2873](Automattic/harper#2873) - feat: take/claim/assume responsibility of→responsibility for by [@​hippietrail](https://github.com/hippietrail) in [#​2880](Automattic/harper#2880) - feat: correct decades with apostrophes by [@​hippietrail](https://github.com/hippietrail) in [#​2886](Automattic/harper#2886) - fix(core): false positives in the `NeedToNoun` rule by [@​elijah-potter](https://github.com/elijah-potter) in [#​2905](Automattic/harper#2905) - fix(chrome-ext): formatted text in Google Docs causing false-positives by [@​elijah-potter](https://github.com/elijah-potter) in [#​2904](Automattic/harper#2904) - feat: rise the ranks→rise through/from the ranks by [@​hippietrail](https://github.com/hippietrail) in [#​2903](Automattic/harper#2903) - perf(core): add early exits for `lex_url`, `lex_email_address` by [@​86xsk](https://github.com/86xsk) in [#​2910](Automattic/harper#2910) - build(deps): bump quinn-proto from 0.11.13 to 0.11.14 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2908](Automattic/harper#2908) - fix(core): `VerbToAdjective` false positives by [@​elijah-potter](https://github.com/elijah-potter) in [#​2906](Automattic/harper#2906) - feat: not only it is→not only is it by [@​hippietrail](https://github.com/hippietrail) in [#​2907](Automattic/harper#2907) - feat: compulse→compel by [@​hippietrail](https://github.com/hippietrail) in [#​2909](Automattic/harper#2909) - feat(harper-cli): add --format flag with json and compact output modes by [@​dumb-kevin](https://github.com/dumb-kevin) in [#​2843](Automattic/harper#2843) #### New Contributors - [@​lewismiddleton](https://github.com/lewismiddleton) made their first contribution in [#​2837](Automattic/harper#2837) - [@​dumb-kevin](https://github.com/dumb-kevin) made their first contribution in [#​2843](Automattic/harper#2843) **Full Changelog**: <Automattic/harper@v1.9.0...v1.10.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:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni4zIiwidXBkYXRlZEluVmVyIjoiNDMuNzguMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
Issues
Resolves #2343
Description
In fact this finds 3 pairs of clashing linters already!
Intact- one inClosedCompounds, the other inphrase_corrections.Nobody- one inClosedCompounds, the other standalone.OfCourse- one standalone, the other inphrase_corrections.I have intentionally not tried to resolve any of these as part of this PR.
I included another warning in this PR related to linters:
harper-cli lintif after processing any--onlyand/or--ignorecommandline arguments there are no lints configured, a warning will be issued. This is most commonly the result of making a typo when testing a new linter you're working on.How Has This Been Tested?
Manually.
Checklist