使自定义 SwiftLint 操作正则表达式忽略注释

Make Custom SwiftLint action regex ignore comments

我有一个自定义 SwiftLint 操作来标记 print() 语句:

custom_rules:
    disable_print:
      included: ".*\.swift"
      name: "print usage"
      regex: "((\bprint)|(Swift\.print))\s*\("
      message: "Don't use print"
      severity: error

它有效,但每当我在文档注释中指定 print() 语句时它也会标记,如下所示:

/// some comment mentioning print("hello") <- Error here
func myFunc() {}

如何更改正则表达式,使其在文档注释中忽略 print 语句?

好像自定义规则可以指定匹配什么类型的代码。 属性 称为 match_kinds,来自 Swiftlint 自述文件的示例:

match_kinds: # SyntaxKinds to match. optional.
   - comment
   - identifier

指定 identifier 应该足以满足您的用例。