lf-lang / lingua-franca

Intuitive concurrent programming in any language
https://www.lf-lang.org
Other
235 stars 62 forks source link

Improve CLI output of `lfc` #896

Open lhstrh opened 2 years ago

lhstrh commented 2 years ago

Currently, the output from lfc can be rather verbose. Messages from the underlying build system can be suppressed using the --quiet flag, but that might suppress too much output and impair the user's ability to judge whether actual progress is being made (or the build process stagnated for whatever reason). It would be great if we could create our own progress indicator to address this concern. Once implemented, and the "quiet" output is sufficiently informational for average use, we can let that be the default behavior and instead have a --verbose flag to display all messages.

Major progress has been made with the introduction of MessageReporter which is not only for reporting errors. There are a few more locations left where System.out is being used:

lhstrh commented 1 year ago

To add to this, informational messages are written directly to standard out and are often poorly formatted. We should introduce a class similar to ErrorReporter to format and display informational messages. This is particularly useful for the code generation process of federations, where multiple code generators are at work and concurrently write such messages.