It's interesting to think about how complex the wikipedia text is compared to something like github flavored markdown or even standard html tables (although I guess it eventually renders into standard html so it's not more complex than the latter when all other html elements are considered in addition to <table>)
For example the swatch internet time infobox is dynamically updated
{{short description|Alternate time system by watch maker Swatch}}
{{Infobox
| image = [[File:Swatch beat Logo.svg|200px|alt=Logo of Swatch Internet Time]]
| caption = Logo of Swatch Internet Time
| title = Time{{efn|at page generation }} {{purge|(update to view correct time)}}
| label1 = 24-hour time (UTC)
| data1 = {{nowrap|{{#time:H:i:s}}}}
| label2 = 24-hour time (CET)
| data2 = {{Time|CET|dst=no|df-cust=H:i:s|hide-refresh=yes}}
| label3 = .beat time (BMT)
| data3 = {{nowrap|@{{#expr: floor( {{#expr:{{#expr:{{#expr:{{#time:H|now + 1 hour}}3600}}+{{#expr:{{#time:i}}60}}+{{#time:s}}}}/86.4}} )}}}}
}}
I always found it ironic that the table syntax is designed to resemble ascii-art type tables, and then literally nobody writes it in a way that looks like an ascii art table.
Yeah, it’s not terribly hard to do that even without AI (Prettier can do it, for example). But there’s a lot of places where the tooling just isn’t available. Then again, it’s probably not a big deal if your GitHub comment markup isn’t perfect.
I think the root of the problem is, almost everything else you use in Markdown is easy to do by hand. There’s just no good syntax for tables like this, I guess.
I agree it's great, but that risk is so major that I stopped using it. "There's a 50% chance that your editor will invisibly corrupt the data you enter, and another 30% chance to corrupt the entire file" is just not usable...
Especially in Zed where the only way to switch hard tabs is buried in the settings menu, and impossible to change per buffer.
Lack of control over your editor's behaviour shouldn't be acceptable on this level. Just like making tabs/spaces visible, control like this ahould be a basic feature of every editor.
You'd think more editors would be smart enough to recognize that it's a TSV file and therefore should preserve the tabs, in much the same way that you'd think editors would be smart enough to recognize that something's a Makefile and therefore should preserve the tabs.
It gets tricky when you have a TSV inside Markdown. I don’t think I’ve ever seen tabs used for indentation in Markdown in the wild, though it probably does work.
We could, however, make the Tab key insert spaces if the cursor is in the beginning of a line, and a literal \t if it’s in the middle. This way, you can write a TSV table pretty much anywhere you want.
For example the swatch internet time infobox is dynamically updated
{{short description|Alternate time system by watch maker Swatch}} {{Infobox | image = [[File:Swatch beat Logo.svg|200px|alt=Logo of Swatch Internet Time]] | caption = Logo of Swatch Internet Time | title = Time{{efn|at page generation }} {{purge|(update to view correct time)}} | label1 = 24-hour time (UTC) | data1 = {{nowrap|{{#time:H:i:s}}}} | label2 = 24-hour time (CET) | data2 = {{Time|CET|dst=no|df-cust=H:i:s|hide-refresh=yes}} | label3 = .beat time (BMT) | data3 = {{nowrap|@{{#expr: floor( {{#expr:{{#expr:{{#expr:{{#time:H|now + 1 hour}}3600}}+{{#expr:{{#time:i}}60}}+{{#time:s}}}}/86.4}} )}}}} }}