当我运行swiftlint时,我得到一个打印输出,显示一些规则的配置无效。
Invalid configuration for custom rule 'commented_out_code'.
Invalid configuration for custom rule 'avoid_multiline_comment_markers'.
Invalid configuration for custom rule 'avoid_background_color'.
没有其他自定义规则被标记为这样,规则本身在项目中仍然有效。以下是所讨论的配置:
commented_out_code:
regex: '(?<!:|\/)\/\/\h*[a-z.](?!wiftlint)'
message: "Comment starting with lowercase letter - did you forget to delete old code?"
avoid_multiline_comment_markers:
regex: '*/'
message: "Avoid using multi-line comment markers like */ and /* - use // and /// instead."
avoid_background_color:
regex: '.background(Color.'
message: "Avoid using .background(Color), use .backgroundColor() instead."
最后一个是我自己的,另外两个是默认的自定义规则,它们来自一个基本的swiftlint配置文件。
下面是一个“有效”规则来显示格式设置是否相同:
use_int_zero_property_in_single_check:
regex: ' == 0[^( {)]'
message: "Avoid checking for '0' in single check, use '== .zero' instead."
关于这些,哪些内容可能是无效的?
我尝试过但没有结果的事情:
- 交换单引号和双引号
- 移动积木
- 使用空格和制表符重新缩进行
1条答案
按热度按时间piztneat1#
这里的问题是不正确的正则表达式语法,主要是没有正确地转义字符。
因此,对于
avoid_background_color
,它应该是对于
avoid_multiline_comment_markers
commented_out_code
对我来说很难理解,但看起来你在开始时漏掉了一个=
我推荐使用https://regex101.com站点来测试和验证regex语法。