retext-sentence-spacing

retext plugin to check spacing (one or two spaces) between sentences

Usage no npm install needed!

<script type="module">
  import retextSentenceSpacing from 'https://cdn.skypack.dev/retext-sentence-spacing';
</script>

README

retext-sentence-spacing

Build Coverage Downloads Size Sponsors Backers Chat

retext plugin to check spacing between sentences.

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-sentence-spacing

Use

Say we have the following file, example.txt:

One sentence. Two sentences.

One sentence.  Two sentences.

…and our script, example.js, looks as follows:

import {readSync} from 'to-vfile'
import {reporter} from 'vfile-reporter'
import {retext} from 'retext'
import retextSentenceSpacing from 'retext-sentence-spacing'

const file = readSync('example.txt')

retext()
  .use(retextSentenceSpacing)
  .process(file)
  .then((file) => {
    console.error(reporter(file))
  })

Yields:

example.txt
  3:14-3:16  warning  Expected `1` space between sentences, not `2`  space  retext-sentence-spacing

⚠ 1 warning

This plugin can be configured to prefer 2 spaces instead:

 retext()
-  .use(retextSentenceSpacing)
+  .use(retextSentenceSpacing, {preferred: 2})
   .process(vfile.readSync('example.txt'), function(err, file) {

Yields:

example.txt
  1:14-1:15  warning  Expected `2` spaces between sentences, not `1`  double-space  retext-sentence-spacing

⚠ 1 warning

API

This package exports no identifiers. The default export is retextSentenceSpacing.

unified().use(retextSentenceSpacing[, options])

Check spacing between sentences. Emit warnings when the spacing does not adhere to the preferred style.

options.preferred
  • 0 (or 'newline') — Disallow spaces between sentences
  • 1 (or 'space', default) — Allow only one space between sentences
  • 2 (or 'double-space') — Allow only two spaces between sentences

Messages

Each message is emitted as a VFileMessage on file, with the following fields:

message.source

Name of this plugin ('retext-sentence-spacing').

message.ruleId

Preferred style ('newline', 'space', or 'double-space').

message.actual

Current not ok spacing (string, such as ' ').

message.expected

List of suggestions of spacing to use (Array.<string>, such as ['\n']).

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