It makes sense to me that traceOutputChannel uses LogOutputChannel, but for the regular outputChannel this now leads to a weird UI experience IMO. The new client now tags every output on stderr as an error, which seems not right. Lots of pieces of code just write generic logging output/information to stderr (we do that for example in the Julia extension) that should not be tagged as an error.
I think in general it is not ideal to make assumptions about what a LS will write to stderr, at the end that is just unstructured output, and then pressing that into a more structured format in the output channel seems too much of an assumption to me.
It makes sense to me that
traceOutputChannelusesLogOutputChannel, but for the regularoutputChannelthis now leads to a weird UI experience IMO. The new client now tags every output onstderras an error, which seems not right. Lots of pieces of code just write generic logging output/information tostderr(we do that for example in the Julia extension) that should not be tagged as an error.I think in general it is not ideal to make assumptions about what a LS will write to
stderr, at the end that is just unstructured output, and then pressing that into a more structured format in the output channel seems too much of an assumption to me.