问题标签 [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.
regex - 匹配不以某些东西开头或结尾的字符串的正则表达式
我正在尝试编写一个快速的 lint 规则,它将忽略我项目中的某些文件。这些文件要么以 Fake 开头,要么以 Spec.swift 结尾。
例子:
我只希望正则表达式匹配Object.swift
使用http://rubular.com我能够使用它^(?!Fake).*(?<!Spec).swift
不幸的是,这似乎不适用于 swiftlint。
用于排除以 Spec.swift
( ) 结尾的文件的正则表达式在http://nsregularexpression.com.*(?<!Spec).swift
上不起作用。所以我不确定 swiftlint 是如何做到的。
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 内容
regex - 如何仅匹配 swiftlint 中的顶级对象
我们有一个 swiftlint 规则,它基本上在我们的结构、类和协议(DC、DB 或 DM 取决于功能)上强制执行前缀。TopLevel
我们只想将其与顶级对象匹配,例如在下面的示例中,我只想SecondTopLevel
抛出错误:
我们当前的正则表达式如下:(struct|class|protocol)\s(?!(func|DB|DC|DM))[^\n\r]+\{
,这将匹配TopLevel
和NotTopLevel
。我想以某种方式给一些正则表达式(或其他一些 swiftlint 工具)不匹配NotTopLevel
,但仍然匹配TopLevel
和SecondTopLevel
。这可能吗?关于如何做到这一点的任何想法?
我一直在尝试模仿的方法是在检查前缀之前查找 0 个或多个以前的类定义,但是,在检查前缀之前尝试匹配整个类一次或多次时遇到了问题。
homebrew - 如何安装特定版本的 swiftlint?
我正在尝试修复此错误:
通过运行:
但是这不起作用,然后我尝试了“ brew search swiftlint
”,但什么也没出现。
谁能指出使用特定版本安装 swiftlint 的正确方法?
swift - CGFloat(M_PI) * 2 的传统常量违规
对于以下内容:
SwiftLint 0.16.1 警告我:
警告:旧版常量违规:结构范围的常量优于旧版全局常量。(legacy_constant)
请注意,我需要此值UIBezierPath.init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)
来获得闭合弧。
ios - 如何从 xcode 卸载 swiftlint,或关闭其警告
请帮助我了解如何卸载 swiftlint,或如何完全关闭它的警告(因为它开始不时忽略所有规则)。我从 pkg 文件安装了 swiftilnt,现在找不到删除它的方法。“从 Makefile 运行”解决方案对我没有帮助,因为我不明白它在哪里,以及如何运行它。在 Xcode 首选项中,我也找不到卸载它的方法。我也在finder中搜索“swiftlint”,它也找不到它。
Xcode 8.2.1
swiftlint - 如何在 SwiftLint 上强制错误而不是警告?
我的问题很简单,我如何让一切都warnings
变成errors
SwiftLint ?(无需单独手动配置每条规则)
regex - swiftlint 大括号规则
我正在使用 Swiftlint 在我们的代码库中执行一些实践。我想添加一个自定义规则,以确保 a{
始终出现在换行符之后。我以为我知道正则表达式,但似乎无法弄清楚。我只是检查一行是否在{
. 之后允许有东西{
。
我现在拥有的:
以下是一些应该和不应该匹配的示例字符串:
swiftlint - 如何获取最近添加的 Swiftlint 规则
我有最新版本的 Swiftlint(通过 brew)。当我查看 github 时,我看到他们在发布后添加了一堆规则,甚至是几天前。我如何将这些规则放到我的 Mac 上?我必须卸载我拥有的版本并重新安装相同的版本吗?(这甚至会得到新规则吗?)我必须从 github 下载 zip 吗?
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
轻松下载。但是我怎样才能成功?