sharkdp / pastel

A command-line tool to generate, analyze, convert and manipulate colors
Apache License 2.0
4.98k stars 97 forks source link

Add `pastel --layout {horizontal,vertical,detail}` #185

Open purpleposeidon opened 9 months ago

purpleposeidon commented 9 months ago

'Detail' remains the default layout. The layout can also be set as -v or -h as program arguments (which displaces the old pastel -h, which printed help) or by setting the PASTEL_LAYOUT environment variable.


Closes #137

Actually this PR isn't good enough to go in. However I will leave it here in case someone is looking for it. Layout::Vertical is worthless compared to the vertical layout made by some of the other commands.

The command trait and the macro to help implement it are unnecessary ceremony. AFAICT the commands are all just outputting lists of colors with various different layouts. It would best to store them as &[(name, default_layout, fn(...) -> Vec<Color>)]