On Thu, Aug 29, 2024 at 6:03 AM Patrick Steinhardt <ps@xxxxxx> wrote: > On Thu, Aug 29, 2024 at 05:16:25AM -0400, Eric Sunshine wrote: > > Note that the preceding change gave all problem annotations a uniform > > "ERR" prefix which serves as a reasonably suitable replacement needle > > when searching in a terminal, so loss of "?!" in the output should not > > be overly problematic. > > Okay, now the "ERR" prefix becomes a bit more important because we drop > the other punctuation. I'm still not much of a fan of it, though. Makes > me wonder whether we want to take a clue from how compilers nowadays > format this, e.g. by using "pointers". > > So this: > 7 fish | > 8 cow ?!AMP?! > > Would become this: > t/chainlint/pipe.actual:8: error: expected ampersands (&&) > 7 fish | > 8 cow > ^ > > While this would be neat, I guess it would also be way more work than > the current series you have posted. And whether that work is ultimately > really worth it may be another question. Probably not. Interestingly, I'm not always a fan of the sort of compiler output you suggest since I often have more difficulty interpreting the output and locating the actual problem[*] than if the annotation was merely inline, sitting immediately next to the problem itself. Also, the vast majority of the time, chainlint will be flagging a missing "&&" at the end of line, so with the inline annotation, it's very easy to see (especially when colored) exactly where the problem is at a glance. Hence, the cost of implementing "^" doesn't feel particularly worthwhile (and, with my limited Git time these days, I'm unlikely to do so). [*] This is especially so when dealing with foreign code which is wider than my 80-column terminal or 80-column editor window, in which the source text and the "^" may wrap over multiple lines.