Пользовательское правило Swiftlint, чтобы сделать предупреждения XCode, такие как амортизация, как ошибка - PullRequest
0 голосов
/ 29 августа 2018

Мой проект содержит около 3000 предупреждений, и мой мотив состоит в том, чтобы сделать наш проект Xcode бесплатным. Я только начал использовать swiftLint, так как string.characters.count обесценивается, я хочу сделать каждую амортизацию ошибкой, но шаг за шагом. Я хочу сделать это постепенно, поэтому сначала я хочу сосредоточиться на «.характерах». удаление использования во всем приложении. Даже я могу искать в проекте и удалять его, но в то же время я хочу установить правило, чтобы ни один другой разработчик не использовал его в будущем. Я попробовал приведенный ниже код в своем файле yml, но Xcode не выдает никакой ошибки при использовании .characters во время компиляции. Я думаю, что я использую неправильное регулярное выражение. Кто-нибудь знает, что не так с пользовательским правилом или регулярным выражением?

custom_rules:
  string_character_usage: # rule identifier
included: ".*\\.swift" # regex that defines paths to include during linting. optional.
excluded: ".*Test\\.swift" # regex that defines paths to exclude during linting. optional
regex: ".*?!\\.characters.\\.*" # matching pattern // I think issue is here
match_kinds: # SyntaxKinds to match. optional.
 - keyword
message: "Please don't use .characters on string as it is already deprecated, take warnings seriously now." # violation message. optional.
severity: error # violation severity. optional.
...