unified

Project: retextjs/retext-repeated-words

Package: retext-repeated-words@4.0.0

  1. Dependents: 18
  2. retext plugin to check for for repeated words
  1. unified 173
  2. plugin 135
  3. retext 38
  4. retext-plugin 25
  5. words 3

retext-repeated-words

Build Coverage Downloads Size Sponsors Backers Chat

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 imported instead of required.

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.

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']).

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