Automattic / Automattic/harper
Do we (can we) have a way to ignore individual pairs of words from being joined into noun compounds?
- Dominant language
- Rust
- Stars
- 15.4k
- Forks
- 627
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 102
Description
**What got flagged?**
There are several places in Harper where groups of words are flagged to compound into a single word. This issue is only about the generic implementation that covers nouns.
In many such cases both the multi-word phrase and the compound noun are legit.
For common mistakes we can have dedicated linters that check the context, and we already have some of those.
But to cover the remainder this is not practical.
Sometimes we can have heuristics that check the parts-of-speech of the words that make up the compound. But often even then both are legit, but in the full context, which Harper won't understand, only one will be correct.
When this is the case, we shouldn't flag it. But since we can't detect these cases (or can't detect many of them despite trying) we could make the `ignore` button remember this specific pair and not flag it again.
In the example above, the phrase "**full text**" is much more common than the specialized term "**fulltext**".
Contributor guide
Research direction
Start by locating the generic noun-compound implementation and the existing ignore-button path described in the issue; trace how a flagged pair is represented and where ignore decisions are stored. Compare the current behavior for “full text” and “fulltext” with nearby tests or examples, then define tests showing that an ignored pair is not flagged again while unrelated compounds remain checked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100