rpm-software-management / dnf5

Next-generation RPM package management system
Other
256 stars 87 forks source link

info: Wrap text at word boundaries #840

Open evan-goode opened 1 year ago

evan-goode commented 1 year ago

Noticed by a participant in the 2023-08-11 test week: https://fedoraproject.org/wiki/Test_Day:2023-08-11_Fedora_39_DNF_5#cite_note-80

dnf5 info (and dnf5 repoquery --info) should wrap text at word boundaries to improve readability.

Here is the Description field of dnf5 info hello on a 80-character-wide terminal:

Description     : The GNU Hello program produces a familiar, friendly greeting.
                : Yes, this is another implementation of the classic program tha
                : t
                : prints \xe2\x80\x9cHello, world!\xe2\x80\x9d when you run it.
                : 
                : However, unlike the minimal version often seen, GNU Hello proc
                : esses
                : its argument list to modify its behavior, supports greetings i
                : n many
                : languages, and so on. The primary purpose of GNU Hello is to
                : demonstrate how to write other programs that do these things; 
                : it
                : serves as a model for GNU coding standards and GNU maintainer
                : practices.

Note: additionally, the left and right double quote glyphs (“ ”) are not printed correctly.

In comparison, DNF 4 outputs the following, correctly wrapping the text at word boundaries:

Description  : The GNU Hello program produces a familiar, friendly greeting.
             : Yes, this is another implementation of the classic program that
             : prints “Hello, world!” when you run it.
             : 
             : However, unlike the minimal version often seen, GNU Hello
             : processes its argument list to modify its behavior, supports
             : greetings in many languages, and so on. The primary purpose of
             : GNU Hello is to demonstrate how to write other programs that do
             : these things; it serves as a model for GNU coding standards and
             : GNU maintainer practices.
ppisar commented 1 year ago

Already reported in Fedora Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2231262.