デフォルト有効/無効のルール
azu opened this issue · 4 comments
JTFスタイルのルールを他のルールと併用すると衝突しやすいルールが幾つか存在する。
そのため、以下のように併用した場合にはJTFスタイルのルールを手動で無効にする必要があるの現状。
- https://github.com/tongariboyz/react-native-redux-dev-notes/blob/master/.textlintrc
- https://github.com/kubosho/textlint-starter-kit/blob/master/.textlintrc
- https://github.com/azu/JavaScript-Plugin-Architecture/blob/master/.textlintrc
明らかに衝突しやすいルールはオプトインとしてデフォルトでは無効するのはどうか?というIssueです。
具体的に衝突しやすいのは辞書ベースのルールとなっているものが該当するので、以下のルールはデフォルトではオフとするのはどうか?
(ルールベースのルール同士が衝突しやすい傾向がある。textlint-rule-spellcheck-tech-wordなど)
"jtf-style/2.1.2.漢字": false,
"jtf-style/2.1.5.カタカナ": false,
"jtf-style/2.1.6.カタカナの長音": false,
"jtf-style/2.2.1.ひらがなと漢字の使い分け": false
JTFスタイル単独としては、全てのルールがデフォルトONでいいとは思うが、併用してる場合の扱いが難しい…(プラグインオプションとかもあり得るが何か複雑になりそう)
解決方法としては
- 衝突しやすいルールはデフォルトオフにする
- JTFスタイルから衝突しにくいルールだけ取り出したものを作る(何か二度手間っぽい)
- textlint本体で何かいい方法を追加する
- 運用で解決(READMEなどに対処法を書く)
のあたりなる気がしています。
(ここでの衝突とは、どちらかに合うように直しても、もう片方がエラーとして判定しまうケースの事)
何かご意見あったりしますでしょうか?
/cc @kubosho @moqada @muraken720 @matsu-chara
(少し使っているだけなのであまりしっかりした意見ではないのですが)デフォルトオフには賛成です。
今のところルール衝突では困ってはいないものの、衝突した際はどちらをオフにすれば良いか?何か他の言い回しで回避できないかなどtextlintのエラーを抑える目的で頭を使ってしまいそうなので・・・。
文章本体に注力する時間を増やすためにデフォルト設定で、そういった混乱があらかじめ回避できるようになっているのは自分のようなtextlint初心者にとっても有り難いと思いました。(readmeで推奨設定として書くといった方法でも混乱を回避できそうだと思うのでそちらの案もアリだと思っています。)
一人の利用者としてですが、参考になれば幸いです。
@matsu-chara なるほど。ありがとうございます。
衝突した際はどちらをオフにすれば良いか?何か他の言い回しで回避できないかなどtextlintのエラーを抑える目的で頭を使ってしまいそう
確かに、こうなるのは避けたい感じですね(自分が作るルールもデフォルトはできるだけ弱めで、strict
オプションで強くするような設定にしてたりします)