Remix.run Logo
theamk 2 days ago

Or you can have languages which do not depend on plugin or formatters to be correct.

If you supposedly human writable config file format is unusable without external tools, there is something wrong with it.

SebastianKra 2 days ago | parent [-]

I don't know what weird utopian language you're using, but I have yet to see a one that can't be made unreadable by bad formatting.

Just use a formatter and stop bikeshedding please.

theamk 2 days ago | parent [-]

it's config file, so they are often edited in unusual configurations without normal editors present. And they are often not checked in the source code, so there is no standard way to add linter.

And KSON is pretty unique in how bad is it. For example, go to playground and remove a single dot in line 11 (after the books list). Look how the parse tree changes - this 1-character edit means the file is still valid, but the rest of the file is now filed under one of the books.

Do you know of any other config language with this property - a single character removed yields a syntactically correct file which yet parses absolutely incorrectly? I don't. Worst I can think of is maybe one section parses weirdly, or next element of a list. But something like _entire rest of file_ is broken is unique to KSON.

SebastianKra 2 days ago | parent [-]

Not sure how big of a deal that would actually be when you consider schema validation by the app, but you have a point.

Btw, I love JetBrain's SSH sync for keeping my config files in VCS and editing them with proper tooling.