textlint rule for prh/prh: proofreading helper.
This rule check the spell by used with prh.yml.
npm install textlint-rule-prh
- It require Rule Options!
{
"rules": {
"prh": {
"rulePaths" :["path/to/prh.yml"]
}
}
}rulePaths(required) : array of path to YAML file from.textlintrcfile
{
"rules": {
"prh": {
"rulePaths" :["./prh-rules/rule1.yml", "./prh-rules/rule2.yml"]
}
}
}You can use ~ as Home directory abbreviation.
{
"rules": {
"prh": {
"rulePaths" :["~/global-rule/rule1.yml"]
}
}
}checkLink(optional) : CheckLinknode type (default:false)checkBlockQuote(optional) : CheckBlockQuotenode type (default:false)checkEmphasis(optional) : CheckEmphasisnode type (default:false)checkHeader(optional) : CheckHeadernode type (default:true)checkParagraph(optional) : CheckParagraphnode type (default:true)checkCodeComment(optional) : CheckCodeBlocknode's comment forlang(default:[])- Set
langarray like["<codeblock-lang>"]for checking CodeBlock - Example: If you want to check JavaScript CodeBlock, set
{ "checkCodeComment": ["js", "javascript"] }Options - Note: Currently only support JavaScript CodeBlock
- It use @babel/parser
- Set
Examples:
{
"rules": {
"prh": {
"checkEmphasis": true,
"checkHeader": false,
"rulePaths" :["./prh.yml"]
}
}
}Check CodeBlock's comment in JavaScript Code.
{
"rules": {
"prh": {
"checkCodeComment": ["js", "javascript"],
"rulePaths" :["./prh.yml"]
}
}
}textlint-rule-prh support --fix feature of textlint.
textlint --fix README.mdPlease See prh/prh: proofreading helper.
prh.yml can define RegExp as a dictionary.
# prh version
version: 1
rules:
# format case-sensitive
- expected: Cookie
# the above is equal to following
# - expected: Cookie
# pattern: "/[CcCc][OoOo][OoOo][KkKk][IiIi][EeEe]/g"
# options:
# wordBoundary: false
# specs: []
# Write test to `expect`
- expected: jQuery
specs:
- from: jquery
to: jQuery
- from: JQUERY
to: jQuery
# If the `specs` is failed、fail to load prh.yml
# - expected: JavaScript
# specs:
# - from: JAVASCRIPT
# to: JavaScprit
# Error: JavaScript spec failed. "JAVASCRIPT", expected "JavaScprit", but got "JavaScript", /[JjJj][AaAa][VvVv][AaAa][SsSs][CcCc][RrRr][IiIi][PpPp][TtTt]/g
# pattern => expected
- expected: default
pattern: deflaut
# Allow to write multiple `pattern`
- expected: hardware
patterns:
- hadware
- harrdware
- harddware
# Allow to write `pattern` as RegExp
# Can use $1...$9
# Should wrap `/` and `/`
# ECMAScript
- expected: ECMAScript $1
patterns:
- /ECMAScript([0-9]+)/
- /ECMA Script([0-9]+)/
specs:
- from: ECMAScript2015
to: ECMAScript 2015
# expected contain pattern
# https://github.com/textlint-rule/textlint-rule-prh/pull/8
- expected: ベンダー
pattern: /ベンダ(?!ー)/
specs:
- from: ベンダ
to: ベンダー
- from: ベンダー
to: ベンダー
# wordBoundary option
- expected: js
# === pattern: "/\b[JjJj][SsSs]\b/g"
options:
wordBoundary: true
specs:
- from: foo JS bar
to: foo js bar
- from: foo altJS bar
to: foo altJS barprh.yml can import other yaml file
version: 1
imports:
- imports-a.yml
- imports-b.ymlSee example-prh.yml.
npm test
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
MIT