Swiftlintのline_length
が複数行になったときの指定方法で引っかかったので、
どのように解決したかやその経緯を共有します。
line_length
に限らず、Swiftlintの記述方法全般に共通する内容だと思います。
結論
まずは解決した方法を紹介します。
以下の記述でline_length
の文字数を指定、かつコメントアウト部分は指定外になります。
line_length:
warning: 180
error: 350
ignores_comments: true
180~349文字でwarning
、350文字以上でerror
が発生し、コメントアウトは指定から除外されます。
導入
Swiftlintのインストール方法などについては省略します。
.swiftlint.yml
ファイルの初期状態はSwiftlintのConfiguration以下の記述をほぼコピペしたものです。
disabled_rules: # rule identifiers to exclude from running
- colon
- comma
// ...
// 長いので省略
// ...
reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, junit, html, emoji, sonarqube)
引っかかった記述方法
line_lengthのコピペ時の初期状態は以下です。
line_length: 110
この場合、1行に110以上の文字が記述されているとwarning
が発生します。
問題は、コメントアウトした部分にもwarning
が発生するためline_length
以下に
ignores_comments: true
を記述しようと考えました。
(ついでに許容する文字数も110では少ないので180に変更します。)
以下、ダメだった記述例
line_length: 180
ignores_comments: true
line_length:
- 180
- ignores_comments: true
改めて、正しい記述例↓
line_length:
warning: 180
ignores_comments: true
まとめ
line_length
の条件が複数行になる場合、warning:
やerror:
の付加が必要になります。