Hello everyone, I'm a new user of the language (I've been playing around with it for some months) and I'm really liking it.

One minor thing that I didn't particularly like was what (and how) DUB spits out stuff to the terminal, in the sense that I find the output a bit difficult to navigate i.e. I can't easily understand, at a first glance, what's going on. Given that I tried various languages recently, including their package manager, and seeing how much clearer their output was, I think DUB could also be improved in the same way. The main thing that would make the output clearer would be to color the output and format it a bit better, IMHO. It would also look way prettier.

Given that this seemed like an easy task, I already implemented a proof-of-concept just to see how that would look like and, in my opinion, now it's really clear what's going on. Take a look at these screenshots:

https://imgur.com/a/3RJyd6m

Some of you will have already noticed... Yes, I got really inspired by Rust's "Cargo" package manager, but not because I'm a Rust fanboy or something like that (I don't even particularly like it as a language), but just because of all the package managers I tried, Rust's one has been the simplest, cleanest, approachable and immediate I've ever seen. The way Cargo organizes and colors the stuff it prints seemed like a really good approach, so I thought implementing a similar thing (with some changes/twists) would be a good starting point. Of course I'm totally open to suggestions and I don't even want Dub to look exactly like Cargo, at all. However the concept of a colored "tag" at the beginning of the line looks really cool and useful in my opinion. All the green tags are related to the building process, so when your eyes see green you know it's compiling/linking, while package fetching/upgrading/etc... stuff has a yellow tag, so you immediately know Dub is doing package related things just by seeing yellow text. There are other minor changes, like removing the three dots "..." after every line (which, IMHO, just clutter the output) and other things.

As I said, this is just a proposal, and I will happily take any feedback, critiques, enhancements, etc... I also hope this won't offend anyone, both because I want to change Dub and because I got inspired by the package manger of a competitor language.

I started this thread to have a discussion on this before submitting any pull request (which, in the case of this change being apprecciated, I'll happily take the time to make).

Thanks to anyone in advance,
Giacomo

Reply via email to