cdepillabout / pretty-simple

pretty-printer for Haskell data types that have a Show instance
https://hackage.haskell.org/package/pretty-simple
BSD 3-Clause "New" or "Revised" License
243 stars 29 forks source link

Changes to enable usage of prettyprinter backends #73

Closed georgefst closed 4 years ago

georgefst commented 4 years ago

Using prettyprinter-ansi-terminal's AnsiStyle to represent colours was not ideal as it is intentionally opaque, and so it's difficult to convert to another format.

This PR introduces a new Style type corresponding to the subset of AnsiStyle which is used in pretty-simple.

There is some inconsistency in whether we refer to things as "style"s or "colour"s. This Style type allows customising whether the text is bold, so it does represent more than just colour. But changing all instances of "color" to "style" would seem an unnecessary break of backwards compatibility. This isn't really a new issue, but this change has made it more obvious.

georgefst commented 4 years ago

There are a few missing Haddocks. I'll add those once everything else is approved.

cdepillabout commented 4 years ago

@georgefst You've been doing a bunch of work on pretty-simple lately (including various dependencies of pretty-simple).

Would you be interested in become a maintainer of pretty-simple? That way, you could review PRs, as well as merge your own PRs and make releases without having to wait for me.

I've been pretty busy at work lately, and I haven't had time to take a good look at your last couple PRs.

georgefst commented 4 years ago

Would you be interested in become a maintainer of pretty-simple?

That would be great. If you're happy not to review the current PRs in detail, then I'll clean them up and merge. I'd still feel more comfortable checking in with you for at least a high-level overview of changes before publishing a release (and I really don't mind waiting a while for that if necessary).

cdepillabout commented 4 years ago

@georgefst I sent you an invitation to be a collaborator for this repo. I think you should get an email from github about it.

Also, if you send me your hackage username, I'll add you as a maintainer on Hackage.

I'd still feel more comfortable checking in with you for at least a high-level overview of changes before publishing a release

I'd definitely be fine with checking for a high-level overview of changes, although you can feel free to go ahead and merge stuff yourself, as well as review/merge PRs from other users.

For making a release to Hackage, I have a checklist: https://functor.tokyo/blog/2018-07-16-release-haskell-packages-to-hackage

Most of these should be pretty obvious, but the two important points are to make sure to update the CHANGELOG.md before doing a release, and then to make sure to create a tag and push it to GitHub on the commit that you uploaded to Hackage.


As far as the long-term vision for pretty-simple, the two points that are the most important to me are the following:

cdepillabout commented 4 years ago

I took a quick look at this, and I'm happy with it if you want to merge it in!

georgefst commented 4 years ago

@cdepillabout I'm GeorgeThomas on Hackage.

cdepillabout commented 4 years ago

Thanks, I've added you on Hackage: https://hackage.haskell.org/package/pretty-simple/maintainers/