lean-ja / fp-lean-ja

Functional Programming in Lean の日本語訳. 演習問題への解答を含みます(作業中 🚧)
https://lean-ja.github.io/fp-lean-ja/
Other
8 stars 2 forks source link

linter の導入検討 #27

Open imamuray opened 5 months ago

imamuray commented 5 months ago

linter の導入を検討する。

案(上にあるほど優先度高)

  1. CI で lint をかける
    • それぞれの環境に linter を導入する手間が省ける
    • コミット後に lint がかかった差分チェックが必要
  2. Gitpod で linter が入った環境を作る
    • ローカルで開発環境整える必要がない
    • ブラウザで作業するのがやりやすいかどうかわからない
  3. devcontainer で linter が入った環境を作る
    • 開発環境を整える手間が省ける
    • PC のスペックによっては devcontainer の起動が重いのがネック

試してみて使えそうなら導入し、そうでないなら見送る。

imamuray commented 5 months ago

CI で textlint を走らせて、日本語と英語の間に半角スペースが入れれないかを試す。

参考になりそうなもの: [textlint] VS Code で Markdown ファイル保存時に、日本語と英数字の間に半角スペースを自動挿入する | DevelopersIO

imamuray commented 5 months ago

textlint ではないけれど関連しそうな記事 PrettierでMarkdownをフォーマットしたときの英語と日本語の間に入るスペースをどうにかする - Qiita

Seasawher commented 5 months ago

反応遅くなりましてすみません.

こちらで調べたところでは textlint を使うのが良さそうに思いました.CI 上で自動でコミットをするのは動作が安定していることが確認できるまでは避けたいので,まずは人が間違えそうな,句読点の使用や空白の入れ方を自動でチェックしてルール違反を見つけるとエラーにできるといいかなと思います.偽陰性が多少残るのは構わないので,偽陽性が少なくなるようにルールを調整していただけると作業しやすくてよいかなと思います.

imamuray commented 4 months ago

こちらあまり手が回っていなくてすみません。 一旦調べた内容を記載します。

textlint を CI に使用した例

【GitHub Actions】Markdown 執筆に textlintの自動校正を取り入れる | DevelopersIO が参考になりそうでした。

textlint で特定の箇所を無視する方法

textlint を手元で軽く動かして見ましたが、マークダウンのコメント箇所(<!-- ... -->)はデフォルトで lint の対象外になるようです。そのため FPiL の和訳文のみ lint の対象にできそうです。 そのままだと未訳ファイルも lint の対象になってしまいますが、.textlintignore で除外対象を指定できるようです。 参考: textlint 11.9.0 .textlintignoreの無視ファイルをサポート | Web Scratch

そのほか、正規表現や、textlint-filter-rule-comments を使用することで特定の箇所を無視できるようです。