-
Notifications
You must be signed in to change notification settings - Fork 517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make dialyzer output more user-friendly #2603
base: main
Are you sure you want to change the base?
Conversation
I don't know that I prefer the new suggested format for human readable content, but it's hard to argue it would be worse for machine-readable format. If anything it would be a misnomer to call it more 'user-friendly', ultimately it's about script-friendliness. I'm wondering if we should shift to that format only optionally, when we know we want a device to handle the output. |
The proposed format would be very useful in the context of IDEs (like VSCode) which can interpret path:line:column entries like this and allow you to navigate to the location of the error quickly from the embedded terminal. |
I think this would be a good compromise, an option. My 5c. |
With respect, I'd have to take issue with that.
Yep, I chose the wording of the title carefully, and this is what I was on about with “user-friendly” -- to me, in this context, “script-friendliness” for its own sake is secondary to following existing UX idioms in developer tools. Off the top of my head, the first-party Erlang toolchain, GCC, Clang, GHC, rustc, and the Go compiler follow the convention, and several of those still make room for big friendly messages with colour codes and arrows pointing to offending columns. I'm certainly open to making this a config option, though considering how the rest of the Erlang tools behave (even when being called by rebar3!) I think making the default consistent with those would be a good idea. |
I, for one, consume the results of Breaking compatibility by changing for format of the output, in |
The readability change is not just from the column format but also from moving from:
And going for
Which, depending on how you lay out your paths ( |
While the current output is pretty, it violates a convention that is obeyed when running
rebar3 compile
and friends, namely, the$file:$line(:$col)?
format. Many tools that take shell output, from text editors to certain terminal emulators, have some degree of support for interpreting compiler errors that follow this convention as “links”. This PR would change output that looks like this:to output that looks like this:
Thoughts?