textlint-ja / textlint-rule-no-mix-dearu-desumasu

textlint rule that check no mix である and ですます.
MIT License
27 stars 8 forks source link

エラーメッセージの改善 #21

Closed azu closed 4 years ago

azu commented 5 years ago
箇条書き: "である"調 と "ですます"調 が混在
=> "ます" がですます調
Total:
である  : 1
ですます: 2

イマイチ意図がわかりにくい。 何を直したらこのエラーが消えるかを明示する

KEINOS commented 4 years ago

どちらが対象であるかを明示した方がいいかと思います。

箇条書き: "である"調 と "ですます"調 が混在
=> 箇条書きは "ですます"調 に統一してください。
Total:
である  : 1
ですます: 2
azu commented 4 years ago

https://github.com/textlint-ja/textlint-rule-no-mix-dearu-desumasu/blob/b0ff44aa704d9f09e09a5cd88885e3924e5843a6/src/MixedChecker.js#L123-L141 preferを指定している場合と指定していない場合でメッセージは別々にした方がいいとは思います。


このプロジェクトのCode of Conductはこちらにあるので参照してください。

https://github.com/textlint-ja/textlint-ja/blob/master/CODE_OF_CONDUCT.md

KEINOS commented 4 years ago

確かに prefer 指定がないのに「統一」はおかしいですね。また、「箇条書きは〜に統一してください」の「箇条書き」も、引っ張ってくるのも修正箇所が多そうなので、以下のような文面ではどうでしょう?これであれば、私も PR のお手伝いできるかも。

箇条書き: "である"調 と "ですます"調 が混在
=> "ですます"調 の文体に、次の "である"調 の箇所があります: "であるかは、" 
Total:
である  : 1
ですます: 2
本文: "である"調 と "ですます"調 が混在
=> "である"調 の文体に、次の "ですます"調 の箇所があります: "です" 
Total:
である  : 3
ですます: 1

本当は、できれば -f pretty-error 時にも表示される該当行と文字位置も出せればより親切だと思うのですが、オブジェクトのどのプロパティを引っ張ってくればいいのかわかりません。

箇条書き: "である"調 と "ですます"調 が混在
=> "ですます"調 の文体に、次の "である"調 の箇所があります: "であるかは、" (3行目19文字目)
Total:
である  : 1
ですます: 2
本文: "である"調 と "ですます"調 が混在
=> "である"調 の文体に、次の "ですます"調 の箇所があります: "です"  (4行目20文字目)
Total:
である  : 3
ですます: 1
azu commented 4 years ago

行数の表示はformatter側の仕事なのでルール側では出さなくていい気がしますね。 (データとして行数などは入ってるので、メッセージとして入れてしまうと2重になるため)