On Thu, Mar 03, 2022 at 03:58:58PM -0500, John Snow wrote: > >>> print(add_visual_margin(msg, width=72, name="Commit Message")) > ┏━ Commit Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > ┃ add_visual_margin() takes a chunk of text and wraps it in a visual > ┃ container that force-wraps to a specified width. An optional title > ┃ label may be given, and any of the individual glyphs used to draw the > ┃ box may be replaced or specified as well. > ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
I see you dropped the right margin compared to earlier versions, but agree that this is still a nice visual indicator, and probably easier to maintain in this form. And it got rid of the weird spacing on the left when the wrap point hit at the wrong time. > + Decorate and wrap some text with a visual decoration around it. > + > + This function assumes that the text decoration characters are single > + characters that display using a single monospace column. > + > + ┏━ Example ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > + ┃ This is what this function looks like with text content that's > + ┃ wrapped to 72 characters. The right-hand margin is left open to > + ┃ acommodate the occasional unicode character that might make > + ┃ predicting the total "visual" width of a line difficult. This > + ┃ provides a visual distinction that's good-enough, though. > + ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Yep - hand-waving away Unicode messiness is certainly easiest ;) Reviewed-by: Eric Blake <ebl...@redhat.com> [take with a grain of salt - my python is weak. But as you said in the cover letter, it's fairly straightforward to reproduce an environment where you can see it in action for hands-on testing] -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org