remark-lint-match-punctuation
Warn when punctuations are not matched. For example, when there is only left parenthesis without right parenthesis, or when right parenthesis is before left parenthesis.
Only punctuations with left/right difference will be included to check, such as Chinese quotation marks, parenthesis, angle quotes, etc. Currently, plugin will check the usage of following punctuation:
“”
, 『』
, ()
, 《》
, 「」
, 【】
, ‘’
Option
If you would like to override the default punctuation check list above, you can pass a list of pairs as configuration. It should be a list of string, with first character representing the left punctuation and second character representing it's right pair.
For example:
[require('remark-lint-match-punctuation'), ['()']]
This will override the default behavior and only warn when ()
has any mismatch.
Example
valid.md
In
子曰:“学而时习之,不亦说乎”
Out
No messages.
invalid.md
In
子曰:”学而时习之,不亦说乎“
Out
input.md:1:4: "”" is used without matching "“"
input.md:1:15: "“" is used without matching "”"
(In above example, double quotation marks are used in wrong order, right is before left)
Install
npm install remark-lint-match-punctuation
Usage
You probably want to use it on the CLI through a config file:
...
"remarkConfig": {
"plugins": [
...
"remark-lint",
+ "remark-lint-match-punctuation",
...
]
}
...
Or use it on the CLI directly
remark -u remark-lint -u remark-lint-match-punctuation readme.md
Or use this on the API:
var remark = require('remark');
var report = require('vfile-reporter');
remark()
.use(require('remark-lint'))
+ .use(require('remark-lint-match-punctuation')[, options])
.process('_Emphasis_ and **importance**', function (err, file) {
console.error(report(err || file));
});