问题标签 [swiftlint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
223 浏览

regex - 匹配不以某些东西开头或结尾的字符串的正则表达式

我正在尝试编写一个快速的 lint 规则,它将忽略我项目中的某些文件。这些文件要么以 Fake 开头,要么以 Spec.swift 结尾。

例子:

我只希望正则表达式匹配Object.swift

使用http://rubular.com我能够使用它^(?!Fake).*(?<!Spec).swift

不幸的是,这似乎不适用于 swiftlint。

用于排除以 Spec.swift
( ) 结尾的文件的正则表达式在http://nsregularexpression.com.*(?<!Spec).swift上不起作用。所以我不确定 swiftlint 是如何做到的。

0 投票
1 回答
5955 浏览

swift - SwiftLint 无法识别对 .swiftlint.yml 的更改

我在 Xcode 的自定义构建阶段使用 SwiftLint:

自从我创建它以来,Xcode 一定已经在我的项目文件夹中识别了过去一个月中的 .swiftlint.yml,因为它警告了我添加的自定义规则。现在我已经从 yml 文件中删除了两个自定义规则,但是 Xcode 不断警告我这些规则。

我尝试了以下事情,但不知道该尝试什么:

  • 卸载并安装 Swiftlint(使用 Homebrew)
  • 将删除的规则名称添加到disabled_rules.swiftlint.yml 中
  • 删除 .swiftlint.yml 并再次添加

我能想到的唯一解决方法是// swiftlint:disable <rule1> <rule2> <rule3>在每个文件中添加一行,但这不能被视为真正的解决方案,所以现在我在 Xcode 构建阶段注释掉了 swiftlint。任何建议都非常感谢...


编辑:swiftlint.yml 内容

0 投票
1 回答
59 浏览

regex - 如何仅匹配 swiftlint 中的顶级对象

我们有一个 swiftlint 规则,它基本上在我们的结构、类和协议(DC、DB 或 DM 取决于功能)上强制执行前缀。TopLevel我们只想将其与顶级对象匹配,例如在下面的示例中,我只想SecondTopLevel抛出错误:

我们当前的正则表达式如下:(struct|class|protocol)\s(?!(func|DB|DC|DM))[^\n\r]+\{,这将匹配TopLevelNotTopLevel。我想以某种方式给一些正则表达式(或其他一些 swiftlint 工具)不匹配NotTopLevel,但仍然匹配TopLevelSecondTopLevel。这可能吗?关于如何做到这一点的任何想法?

我一直在尝试模仿的方法是在检查前缀之前查找 0 个或多个以前的类定义,但是,在检查前缀之前尝试匹配整个类一次或多次时遇到了问题。

0 投票
5 回答
17584 浏览

homebrew - 如何安装特定版本的 swiftlint?

我正在尝试修复此错误:

通过运行:

但是这不起作用,然后我尝试了“ brew search swiftlint”,但什么也没出现。

谁能指出使用特定版本安装 swiftlint 的正确方法?

0 投票
1 回答
400 浏览

swift - CGFloat(M_PI) * 2 的传统常量违规

对于以下内容:

SwiftLint 0.16.1 警告我:

警告:旧版常量违规:结构范围的常量优于旧版全局常量。(legacy_constant)

请注意,我需要此值UIBezierPath.init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)来获得闭合弧。

0 投票
3 回答
7110 浏览

ios - 如何从 xcode 卸载 swiftlint,或关闭其警告

请帮助我了解如何卸载 swiftlint,或如何完全关闭它的警告(因为它开始不时忽略所有规则)。我从 pkg 文件安装了 swiftilnt,现在找不到删除它的方法。“从 Makefile 运行”解决方案对我没有帮助,因为我不明白它在哪里,以及如何运行它。在 Xcode 首选项中,我也找不到卸载它的方法。我也在finder中搜索“swiftlint”,它也找不到它。

Xcode 8.2.1

0 投票
2 回答
5499 浏览

swiftlint - 如何在 SwiftLint 上强制错误而不是警告?

我的问题很简单,我如何让一切warnings变成errorsSwiftLint ?(无需单独手动配置每条规则)

0 投票
1 回答
1875 浏览

regex - swiftlint 大括号规则

我正在使用 Swiftlint 在我们的代码库中执行一些实践。我想添加一个自定义规则,以确保 a{始终出现在换行符之后。我以为我知道正则表达式,但似乎无法弄清楚。我只是检查一行是否在{. 之后允许有东西{

我现在拥有的:

以下是一些应该和不应该匹配的示例字符串:

0 投票
2 回答
225 浏览

swiftlint - 如何获取最近添加的 Swiftlint 规则

我有最新版本的 Swiftlint(通过 brew)。当我查看 github 时,我看到他们在发布后添加了一堆规则,甚至是几天前。我如何将这些规则放到我的 Mac 上?我必须卸载我拥有的版本并重新安装相同的版本吗?(这甚至会得到新规则吗?)我必须从 github 下载 zip 吗?

0 投票
0 回答
323 浏览

cocoapods - 错误窗格“SwiftLint”

[!] /usr/bin/curl -f -L -o /var/folders/1x/jmv798095x1fbjc_6128mflh0000gn/T/d20170314-59599-7fjizg/file.zip https://github.com/realm/SwiftLint/releases/download /0.16.1/portable_swiftlint.zip --create-dirs --netrc

% Total % Received % Xferd 平均速度 时间 时间 当前 Dload 上传总花费 左速度 100 599 0 599 0 0 166 0 --:--:-- 0:00:03 --:--:-- 166 0 0 0 0 0 0 0 0 --:--:-- 0:01:20 --:--:-- 0curl: (7) 无法连接到 github-cloud.s3.amazonaws.com 端口 443: Operation timed出去

这是我执行时的错误pod install。我的网络在 socks5 代理下。我可以https://github.com/realm/SwiftLint/releases/download/0.16.1/portable_swiftlint.zip轻松下载。但是我怎样才能成功?