News for hackers. Stuff that matters.
Re:YAML: It's Time to Move On by kevincox on Sunday November 14, 2021 @05:49PM (#29221514)
It really doesn't matter. Just force the leading indent to be exactly the same bytes. If indent moves between two values where one isn't a prefix of the other raise an error.
Re:YAML: It's Time to Move On by dylan604 on Sunday November 14, 2021 @07:02PM (#29221987)
is one \t the same as \s{4,} in bytes? that doesn't make any sense
Re:YAML: It's Time to Move On by kevincox on Sunday November 14, 2021 @07:07PM (#29222018)
No it isn't. That is the point. If you have one line indented with 4 spaces and one line indented with a tab there is no correct answer what the difference of indent is. The only good option is to raise an error.
Re:YAML: It's Time to Move On by dylan604 on Sunday November 14, 2021 @07:11PM (#29222035)
right, or encapsulate in some sort of braces ;-)
Re:YAML: It's Time to Move On by kevincox on Sunday November 14, 2021 @07:19PM (#29222084)
Sure, that is another option. But your code still looks confusing.

Personally I mostly use indent to read code, so requiring that the indent matches the semantic nesting makes it much easier for me to understand.

Re:YAML: It's Time to Move On by dylan604 on Sunday November 14, 2021 @08:28PM (#29222570)
Looks confusing to who? Another coder? Then they have issues.

I get the original was talking about client facing config files. I'd rather see INI style config files personally.

If you're writing ugly code, braces or spaces won't save you. Just don't write ugly code.* Write it like the next person to view your code is an axe murder that knows where you live, so don't make them mad. You can minify later.

*I'm ignoring Perl, as it's always ugly