Automattic / Automattic/harper

The `OneOfMany` linter preference type doesn't seem to be documented anywhere

Open Beginner friendly
#4,210 2 comments 0 reactions 0 assignees View on GitHub
documentation good first issue harper-core harper.js linting
Dominant language
Rust
Stars
15.4k
Forks
627
Avg merge
1d 15h
Merged PRs (30d)
102

Description

I was planning to add more linters that handle verbs with multiple past participles like "hanged" vs "hung", "dived" vs "dove", "pleaded" vs "pled", and started looking at how I did the "sneaked" vs "snuck" one.

This led me to discover that both "sneaked" and "snuck" are now flagged:

Image

Digging further in #4209 I discovered that this is due to the change in linter configuration from `lint_group/mod.rs` to `default_configuration.json` and the fact that there is a `OneOfMany` type of linter preference that was introduced.

I've looked manually, Googled in both `site:github.com/Automattic/harper` and `site:writewithharper.com`, and asked the built-in coding agent in the Devin fork of VS Code if it can find documentation for `OneOfMany` and we can't find any.

We could still be missing something but it seems to be undocumented and so far not used for any linter.

I have not dug into whether anything needs to be documented downstream for `harper.js` or any of the integrations.

Contributor guide

Open the contributing guide

Research direction

Start by comparing the linter configuration changes in lint_group/mod.rs and default_configuration.json, then trace the OneOfMany preference introduced in the change discussed by #4209. Document what the preference means and how it is configured, and check whether harper.js or other integrations need corresponding documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.