zkat/miette

Potentially broken word wrapping on `main`

TheLostLambda opened this issue · 3 comments

Just a quick report, and I might have time to dig a bit deeper later on, but I've noticed a few times that I'll get some strange wrapping where the GraphicalReportHandler will move from the first to the second line, print exactly one word, then move to a third line.

I'm not particularly sure why yet, but it looks something like this:
image
Here, the is the lonely word that gets banished to that middle line, though I think I've seen this with a as well, so it seems like one-char words are enough to trigger this issue. Resizing the terminal a bit causes the problem to disappear or reappear, so perhaps there is some sort of off-by-one, or several levels of wrapping that don't communicate indentation properly?

Hard to say, but I've left it here in case anyone else has more time to look into it than I do!

Oh, and as the title implies, this is using the current main branch of miette — I've not yet been able to check other versions!

My guess: the wrapping for the nested diagnostic is not taking into account that it's getting nested, so it's using the column count of the parent.

Just another note to myself or whoever picks this up (if they beat me to it!) — I've got a new contender for ugliest wrapping!

image

Those two #[related] errors there are causing some bonus trouble!