retext-sentence-spacing
retext plugin to check spacing between sentences.
Contents
What is this?
This package is a unified (retext) plugin to check spacing between sentences. For example, it can check for one or two spaces sentences.
When should I use this?
You can opt-into this plugin when you’re dealing with content that might contain mistakes, and have authors that can fix that content.
Install
This package is ESM only. In Node.js (version 16+), install with npm:
npm install retext-sentence-spacing
In Deno with esm.sh
:
import retextSentenceSpacing from 'https://esm.sh/retext-sentence-spacing@6'
In browsers with esm.sh
:
<script type="module">
import retextSentenceSpacing from 'https://esm.sh/retext-sentence-spacing@6?bundle'
</script>
Use
Say our document example.txt
contains:
One sentence. Two sentences.
One sentence. Two sentences.
…and our module example.js
contains:
import {retext} from 'retext'
import retextSentenceSpacing from 'retext-sentence-spacing'
import {read} from 'to-vfile'
import {reporter} from 'vfile-reporter'
const file = await retext()
.use(retextSentenceSpacing)
.process(await read('example.txt'))
console.error(reporter(file))
…then running node example.js
yields:
example.txt
3:14-3:16 warning Unexpected 2 spaces between sentence, expected 1 space space retext-sentence-spacing
⚠ 1 warning
The default is to check for 1 space, which can be changed. For example, to 2 spaces:
const file = await retext()
- .use(retextSentenceSpacing)
+ .use(retextSentenceSpacing, {preferred: 'double-space'})
.process(await read('example.txt'))
…now running node example.js
once again yields:
example.txt
1:14-1:15 warning Unexpected 1 space between sentence, expected 2 spaces 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.
Parameters
options
(Options
, optional) — configuration
Returns
Transform (Transformer
).
Options
Configuration (TypeScript type).
Fields
preferred
('double-space'
,'newline'
,'space'
,0
,1
,2
, default:'space'
) — spaces to use
Messages
Each message is emitted as a VFileMessage
on file
, with source
set to 'retext-sentence-spacing'
, ruleId
to the preferred style ('newline'
, 'space'
, or 'double-space'
), actual
to the unexpected value, and expected
to the expected value.
Types
This package is fully typed with TypeScript. It exports the additional type Options
.
Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, retext-sentence-spacing@^6
, compatible with Node.js 16.
Related
retext-contractions
— check apostrophe use in contractionsretext-diacritics
— check for proper use of diacriticsretext-quotes
— check quote and apostrophe usage
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.