Re: [PATCH] userdiff: add support for Swift
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jul 20, 2026, 08:49 UTC
- Message-ID
- <7b541cd5-bd66-4675-818d-8e23eb1c9530@kdbg.org>
- In-Reply-To
- <2a3a73c5-5e90-44a3-bf6a-6e98ce5e5a59@kdbg.org>
Am 18.07.26 um 20:11 schrieb Johannes Sixt:
Show 8 quoted lines
> Am 17.07.26 um 16:02 schrieb Shlok Kulshreshtha:
>> +PATTERNS("swift",
>> + "^[ \t]*((@[A-Za-z_][A-Za-z0-9_]*(\\([^()]*\\))?[ \t]+)*([a-z]+[ \t]+)*(func|init|deinit|subscript|class|struct|enum|protocol|extension|actor)[ \t(?!<].*)$",
>
> This looks good.
>
> Notice, however, how the regular expression matcher has to backtrack on
> even simple lines such as[...]
> It may be worth considering to enumerate all keywords and permit any run > of them:
Let me back-paddle on this one. As I said, the original RE is good. I am making up a problem here without providing evidence. Modern RE matchers may be clever enough that there is no problem. If it turns out there is a problem, we can improve later something that already works.
-- Hannes