retext plugin to check spacing between sentences.
This package is a unified (retext) plugin to check spacing between sentences. For example, it can check for one or two spaces sentences.
You can opt-into this plugin when you’re dealing with content that might contain mistakes, and have authors that can fix that content.
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>
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
This package exports no identifiers.
The default export is retextSentenceSpacing
.
unified().use(retextSentenceSpacing[, options])
Check spacing between sentences.
options
(Options
, optional)
— configurationTransform (Transformer
).
Options
Configuration (TypeScript type).
preferred
('double-space'
, 'newline'
, 'space'
, 0
, 1
, 2
,
default: 'space'
)
— spaces to useEach 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.
This package is fully typed with TypeScript.
It exports the additional type Options
.
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.
retext-contractions
— check apostrophe use in contractionsretext-diacritics
— check for proper use of diacriticsretext-quotes
— check quote and apostrophe usageSee 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.