Ctags for zig

Wow. I was curious, and built it successfully, with two different patches to bring it up-to-date WRT zig 0.14.0, and try and deal with the tabs. But really, zig doesn’t allow tab characters inside of string literals? How does one deal with this? The ‘naive’ way (replacing literal tabs by \t) isn’t the way. And yeah there’s tools out there we might wanna generate TSV for, surely we want to allow tabs in strings?

First difference occurs on line 3:
expected:
MyEnum\ta.zig\t/^const MyEnum = enum {$/;"\tenum
      ^ ('\x5c')
found:
MyEnum	a.zig	/^const MyEnum = enum {$/;"	enum
      ^ ('\x09')

ztags.patch.txt (5.4 KB)