retext-repeated-words
retext plugin to check for for
repeated words.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install retext-repeated-words
Use
Say we have the following file, example.txt
:
Well, it it doesn’t have to to be. Like a fish in the
the sea.
…and our script, example.js
, looks like this:
import {readSync} from 'to-vfile'
import {reporter} from 'vfile-reporter'
import {unified} from 'unified'
import retextEnglish from 'retext-english'
import retextStringify from 'retext-stringify'
import retextRepeatedWords from 'retext-repeated-words'
const file = readSync('example.txt')
unified()
.use(retextEnglish)
.use(retextRepeatedWords)
.use(retextStringify)
.process(file)
.then((file) => {
console.error(reporter(file))
})
Now, running node example
yields:
example.txt
1:7-1:12 warning Expected `it` once, not twice it retext-repeated-words
1:26-1:31 warning Expected `to` once, not twice to retext-repeated-words
1:51-2:4 warning Expected `the` once, not twice the retext-repeated-words
⚠ 3 warnings
API
This package exports no identifiers.
The default export is retextRepeatedWords
.
unified().use(retextRepeatedWords)
Check for repeated words.
- Doesn’t warn for some words which do occur twice (
the best exhibition they had had since
) - Doesn’t warn for initialisms (
D. D. will pop up with…
) - Doesn’t warn for capitalised words (
Duran Duran…
)
Messages
Each message is emitted as a VFileMessage
on file
, with the
following fields:
message.source
Name of this plugin ('retext-repeated-words'
).
message.ruleId
Repeated word (normalized) (string
, such as the
).
message.actual
Current not ok phrase (string
).
message.expected
List of suggestions (Array.<string>
, such as ['the']
).
Related
Contribute
See contributing.md
in retextjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer