Closed mt-caret closed 7 years ago
ご報告ありがとうございます。 やや意図した動作でもありますが、次のような修正が考えられそうです。
任意の文字?(正規表現)を文末に置いて良い文字としてオプションで設定できるようにする。
(ただ、絵文字全般という定義難しい感じがします。 :+1
なども許容したい場合は1文字だけじゃないので、正規表現で指定出来るようにしないといけなさそう)
現在は例外的に文末に置いても良い文字が幾つか定義されています。 これを設定から自由に追加出来るようにするかんじですね。
/[!?!?\))」』]/
Issueとは特に関係ありませんが、再現を試みていた時に
$ echo "合格しました。\n🎉" | textlint --stdin --rule ja-no-mixed-period
これはパスするのはややこしいですが、正しい動作ですね。
ということが起きています。
次のようにMarkdownとして認識させると、恐らくエラーとして検出されます。
(markdownのパラグラフ<p>
は空改行で区切ったときにできるからですね)
$ echo "合格しました。\n🎉" | textlint --stdin --stdin-filename test.md --rule ja-no-mixed-period
迅速かつ丁寧なご対応ありがとうございます。
現在は例外的に文末に置いても良い文字が幾つか定義されています。 これを設定から自由に追加出来るようにするかんじですね。
ですね。ぱっと調べてみたところ、うまい感じに絵文字にマッチする正規表現ライブラリを見つけたので、導入したPRを飛ばしてもよろしいでしょうか?
はい。 基本的には全部オプションで変更可能にしていきたいので、
allowEmojiAtEnd
という 真偽値のオプションを追加するallowEmojiAtEnd
が true ならば、絵文字の正規表現にマッチするものが末尾ならば無視する
allowEmojiAtEnd
の デフォルト値は true
? (どっちがいいんだろ?)という感じにしていただけると助かります。
(これに加えて、 末尾にある任意のものを無視する設定を追加できれば、大体のことはオプションとして解決できるようになるかなと思います。絵文字もこのオプションでやってという形でもいいのですが、あまりに正規表現が難しいので別オプションが妥当な気がします。)
allowWordAtEnd: [
"好きな文字列",
"/好きな正規表現$/"
]
closed by #3
「合格しました。🎉」のような文章の「🎉」も文字として認識されるのか、 「文末が"。"で終わっていません。」と怒られてしまいます。
再現方法:
Issueとは特に関係ありませんが、再現を試みていた時に
を実行したところ、正常として認識されてしまいます。
とするとja-no-mixed-periodが正常に発火します。