git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] userdiff: add support for Swift

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 20, 2026, 04:55 UTC
Message-ID
<xmqqldb6i7kp.fsf@gitster.g>
In-Reply-To
<2a3a73c5-5e90-44a3-bf6a-6e98ce5e5a59@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 22 quoted lines
> Am 17.07.26 um 16:02 schrieb Shlok Kulshreshtha:
>> Add a built-in userdiff driver for the Swift programming language so that
>> diff hunk headers and word diffs work out of the box for ".swift" files.
>> 
>> The funcname pattern is built for Swift's own declaration grammar: an
>> optional run of attributes ("@objc", "@available(iOS 13, *)", ...),
>> followed by an optional run of lowercase modifiers ("public", "static",
>> "final", ...), followed by a declaration keyword (func, class, struct,
>> enum, protocol, extension, actor, init, deinit, subscript). The keyword
>> is followed by a boundary that allows whitespace, "(" (init/subscript),
>> "?" or "!" (failable init), or "<" (generics), while still acting as a
>> word boundary so e.g. "initialize(" does not match.
>> 
>> The word regex recognizes Swift identifiers, hexadecimal, octal, binary,
>> integer and floating-point literals, and the language's operators.
>> 
>> Signed-off-by: Shlok Kulshreshtha <diy2903@gmail.com>
>> ---
>> This addresses the "add a userdiff driver for a language" microproject.
>
> I am mildly surprised that userdiff drivers can count as microproject.
> At a minimum, they are on the challenging side of the spectrum.

I am, too ;-) It is hard to get them right, even though thanks to your earlier work long time ago, writing a test that demonstrates what is expected of the patterns is fairly easy to write.

Previous: Johannes SixtNext: Johannes Sixt
Message 4 of 12 in “userdiff: add support for Swift”
  1. userdiff: add support for SwiftShlok Kulshreshtha, Jul 17, 2026
  2. Junio C HamanoJul 17, 2026
  3. Johannes SixtJul 18, 2026
  4. Junio C HamanoJul 20, 2026
  5. Johannes SixtJul 20, 2026
  6. Shlok KulshreshthaJul 20, 2026
  7. userdiff: add support for SwiftShlok Kulshreshtha, Jul 21, 2026
  8. Junio C HamanoJul 21, 2026
  9. Johannes SixtJul 23, 2026
  10. Michael MontalboJul 27, 2026
  11. Johannes SixtJul 27, 2026
  12. Michael MontalboJul 27, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.