Uploaded image for project: 'Commons CLI'
  1. Commons CLI
  2. CLI-37

HelpFormatter does not wrap lines correctly after the second line

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.0
    • 1.2
    • Help formatter
    • None
    • 17682

    Description

      The HelpFormatter does not wrap the option lines correctly because the logic in renderWrappedText seems to be doubled up. on one side, padding is inserted of length nextLineTabStop for every line after the first, but then in findWrapPos this nextLineTabStop is ADDED to the width, resulting in lines rendered not of width, but nextLineTabStop + width.

      the following patch fixes this:

      --- old/HelpFormatter.java  Wed Mar  5 18:02:18 2003
      +++ new/HelpFormatter.java Wed Mar  5 17:59:47 2003
      @@ -802,7 +802,7 @@
               while (true)
               {
                   text = padding + text.substring(pos).trim();
      -            pos = findWrapPos(text, width, nextLineTabStop);
      +            pos = findWrapPos(text, width, 0);
      
                   if (pos == -1)
                   {
      

      however, this reduces the usage of findWrapPos to always using the third argument = 0 which makes most of its logic obsolete. it could be rewritten to be MUCH shorter. but maybe i'm just missing something.

      the output is fully satisfactory now.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              peter.kunszt@cern.ch Peter Kunszt
              Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: