textlintでスペースを入れる入れないを統一するルール
文章を書いていると、日本語と english の間にスペースを入れるかどうかという表記揺れの問題がでてきます。
日本語と english にはスペースを入れる
日本語とenglishにはスペースを入れない
`code` と日本語の間はスペースを空ける
`code`と日本語の間はスペースを空けない
OK: 「良いですね」
NG: 「 ダメですね 」
このようなスペースのスタイルについてのtextlintルールを書きました。
プリセットになっているため、次のようにまとめてインストールできます。
npm install textlint-rule-preset-ja-spacing
そして、次のように設定で有効化すれば利用できます。
{
"rules": {
"preset-ja-spacing": true
}
}
ルール一覧
次のようなルールがプリセットには含まれています。 また、個別のルールとしてもnpmでインストールできるようになっています。
textlint-rule-ja-space-between-half-and-full-width
半角文字と全角文字の間にスペースを入れるかどうかのルール デフォルトはスペースを入れない。
textlint-rule-ja-space-around-code
インラインコードの周りにスペースを入れるかを決めるルール
textlint-rule-ja-no-space-between-full-width
全角文字同士の間のスペースについてのtextlintルール。 全角文字どうしの間にスペースを入れません。
textlint-rule-ja-nakaguro-or-halfwidth-space-between-katakana
カタカナ語間の区切り文字についてのtextlintルール。 カタカナ語間は中黒または半角スペースを用いてカタカナ語を区切ります。
textlint-rule-ja-no-space-around-parentheses
かっこの外側、内側ともにスペースを入れないようにするルール
textlint-rule-ja-space-after-exclamation
文末に感嘆符を使用し、後に別の文が続く場合は、直後に全角スペースを挿入します。 文中に感嘆符を使用する場合はスペースを挿入しません
textlint-rule-ja-space-after-question
文末に疑問符を使用し、後に別の文が続く場合は、直後に全角スペースを挿入します。 文中に疑問符を使用する場合はスペースを挿入しません。
デフォルト設定
デフォルトでは、次のような設定になっています。
{
"rules": {
"preset-ja-spacing": {
"ja-nakaguro-or-halfwidth-space-between-katakana": true,
"ja-no-space-around-parentheses": true,
"ja-no-space-between-full-width": true,
"ja-space-between-half-and-full-width": {
"space": "never"
},
"ja-space-after-exclamation": true,
"ja-space-after-question": true,
"ja-space-around-code": false,
}
}
}
textlint-rule-ja-space-around-codeは、デフォルト無効になっています。(どちらが一般的か不明なため)
次のように設定することで、プリセットに含まれるすべてのルールを有効にできます。
{
"rules": {
"preset-ja-spacing": {
"ja-space-around-code": {
"before": false,
"after": false
}
}
}
}
Fixable
大体のルールはtextlint --fix
の自動修正に対応しています。
意見/要望
IssueやGitterチャットに書いてください。
関連
JTFスタイルガイドに含まれているルールと大部分は共通しています。 以下のプリセットを利用している場合は重複するルールがありますが、スペース関連のルールを取り出した感じです。(JTFの方もこのモジュールをつかって実装したい)
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。