Open takahashim opened 8 years ago
、
で終わるのを潰したいのが、一つの目的なのでオプションで選べるようにする形ですかね。
{ periodMark: ["。", "、"] }
// periodMarks もチェックしてあげると丁寧
的な複数おける方法と
{ periodMark: "。", allowTouten : true }
みたいな方法がありますね。 どちらが直感的ですかね? (複数periodMarkの場合は、fixを諦めたほうが安全そうな気はしますね)
allowTouten
の方がno-mixedの趣旨に合ってる気がしてきました。
今は、デフォルトで感嘆符と疑問符もallowしていますが、これもオプションに倒すことができそうなので。
(無限に文末に置く記号の種類ががあるとちょっと扱いにくいオプションになりそうですが、そこまで種類は多くないと思っています)
そうですね、"、"はどう見てもperiod markではないので、allowTouten
的な指定の方が望ましいと思います。
他の記号としては、"…"を許したい場合があります。また翻訳文では":"も許したい場合がありそうです。なので、allowTouten
よりはallowChar
とかallowSymbol
とかの方が良さそうです。
{ allowSymbol: ["…", ":"] }
このようなイメージですかね?
この場合、利用者が任意の文字を書けてしまうので allowSymbol
はおかしいですね。
allowChar
または 単に allow
ですかね。
1文字以上の文字列指定した場合、今の実装だとおかしくなると思います。
その場合は例外を投げて諦めるか、lastIndexOf
を使って終端マッチに変更するみたいな実装が必要ですね。
なるほど、では { allow: ["、", ":", ":"] }
みたいな形でしょうか。
1文字以上の場合は例外で良さそうです。
なるほど、では { allow: ["、", ":", ":"] }みたいな形でしょうか。
はい。
1文字以上の場合は例外で良さそうです。
例外メッセージはユーザーがわかる形にしておくと良さそうです。
例 https://github.com/azu/textlint-rule-prh/blob/master/src/prh-rule.js#L41-L51
多少緩い書き方になりますが、
というように、「、」で終わる行を許容したいです。
exceptionMarkRegExpを
/[!?!?\))」』、,]/
みたいにするのと、オプションで選べるようにするのはどちらがよいでしょうか。