integrii / flaggy

Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies.
The Unlicense
856 stars 30 forks source link

Aligns flag description #50

Closed udondan closed 4 years ago

udondan commented 4 years ago

Before:

example - Example application.

  Usage:
    example [ornare|lacinia-arcu|nostra-dapibus|ut|fames-nisi|sollicitudin|vestibulum] [facilisi] [platea-torquent-facilisi] [elementum]

  Positional Variables:
    facilisi (Required) - Sociosqu platea torquent facilisi dictumst facilisis molestie rutrum. (default: defaultValue)
    platea-torquent-facilisi - Neque lacinia eu placerat tristique, habitasse dui habitant pharetra convallis senectus luctus ac cum in velit.
    elementum (Required) - Elementum consequat suscipit.

  Subcommands:
    ornare - Curae ornare etiam ligula quis mauris aptent, fringilla consequat aenean habitasse.
    lacinia-arcu - Lacinia arcu ornare rhoncus, tellus et.
    nostra-dapibus - Aenean cubilia nostra dapibus facilisi, eget porta bibendum.
    ut - Ut penatibus velit gravida curabitur, nascetur suspendisse.
    fames-nisi - Fames nisi egestas euismod donec tristique, justo imperdiet ultrices aptent.
    sollicitudin - Sollicitudin primis tristique mus curae, venenatis nascetur aptent.
    vestibulum - Vestibulum torquent porttitor himenaeos etiam imperdiet, elementum consequat suscipit pulvinar.

  Flags:
       --version  Displays the program version string.
    -h --help  Displays help with available flag, subcommand, and positional value parameters.
       --scelerisque  Scelerisque molestie accumsan potenti dignissim ligula velit rhoncus vitae tincidunt senectus, proin aenean inceptos orci condimentum per eleifend habitant.
       --sapien  Cubilia facilisis molestie nulla sapien aliquet, pulvinar porta iaculis felis.
       --fringilla  Odio proin cum ac consequat, laoreet fringilla.
       --risus-magnis-morbi  Risus magnis morbi aliquet vulputate vel bibendum, tincidunt duis class imperdiet.
       --himenaeos-hac-parturient-primis  Himenaeos hac parturient primis dui lobortis phasellus mauris facilisi nam consequat condimentum, litora luctus nostra mattis ante convallis suspendisse molestie.
       --nunc  Nunc sociosqu pharetra.
       --pretium-magna-ante-justo  Pretium magna ante justo turpis, tempus aliquet libero, volutpat vulputate curabitur.
       --aptent-aliquet  Aptent aliquet proin vivamus donec, lacinia facilisis rhoncus.
    -n --nisl-augue  Nisl augue vitae libero, facilisis fames rhoncus eu, ligula sagittis.
       --vivamus  Mi dignissim vivamus libero posuere, tincidunt suspendisse dis.
       --class-praesent-sapien-velit-hendrerit-purus  Class praesent sapien velit hendrerit purus mattis varius, orci fringilla ultricies donec vitae aenean. Vitae ut bibendum varius justo tristique commodo aliquam non class sodale.
       --hendrerit  Hendrerit egestas.
       --vestibulum-torquent  Vestibulum torquent porttitor himenaeos etiam imperdiet, elementum consequat suscipit pulvinar.
    -s --suscipit  Nisl fringilla suscipit libero cum sodales, nibh odio dictum.

After:

example - Example application.

  Usage:
    example [ornare|lacinia-arcu|nostra-dapibus|ut|fames-nisi|sollicitudin|vestibulum] [facilisi] [platea-torquent-facilisi] [elementum]

  Positional Variables:
    facilisi                   Sociosqu platea torquent facilisi dictumst facilisis molestie rutrum. (default: defaultValue)
    platea-torquent-facilisi   Neque lacinia eu placerat tristique, habitasse dui habitant pharetra convallis senectus luctus ac cum in velit.
    elementum                  Elementum consequat suscipit. (Required)

  Subcommands:
    ornare           Curae ornare etiam ligula quis mauris aptent, fringilla consequat aenean habitasse.
    lacinia-arcu     Lacinia arcu ornare rhoncus, tellus et.
    nostra-dapibus   Aenean cubilia nostra dapibus facilisi, eget porta bibendum.
    ut               Ut penatibus velit gravida curabitur, nascetur suspendisse.
    fames-nisi       Fames nisi egestas euismod donec tristique, justo imperdiet ultrices aptent.
    sollicitudin     Sollicitudin primis tristique mus curae, venenatis nascetur aptent.
    vestibulum       Vestibulum torquent porttitor himenaeos etiam imperdiet, elementum consequat suscipit pulvinar.

  Flags:
       --version                                       Displays the program version string.
    -h --help                                          Displays help with available flag, subcommand, and positional value parameters.
       --scelerisque                                   Scelerisque molestie accumsan potenti dignissim ligula velit rhoncus vitae tincidunt senectus, proin aenean inceptos orci condimentum per eleifend habitant.
       --sapien                                        Cubilia facilisis molestie nulla sapien aliquet, pulvinar porta iaculis felis.
       --fringilla                                     Odio proin cum ac consequat, laoreet fringilla.
       --risus-magnis-morbi                            Risus magnis morbi aliquet vulputate vel bibendum, tincidunt duis class imperdiet.
       --himenaeos-hac-parturient-primis               Himenaeos hac parturient primis dui lobortis phasellus mauris facilisi nam consequat condimentum, litora luctus nostra mattis ante convallis suspendisse molestie.
       --nunc                                          Nunc sociosqu pharetra.
       --pretium-magna-ante-justo                      Pretium magna ante justo turpis, tempus aliquet libero, volutpat vulputate curabitur.
       --aptent-aliquet                                Aptent aliquet proin vivamus donec, lacinia facilisis rhoncus.
    -n --nisl-augue                                    Nisl augue vitae libero, facilisis fames rhoncus eu, ligula sagittis.
       --vivamus                                       Mi dignissim vivamus libero posuere, tincidunt suspendisse dis.
       --class-praesent-sapien-velit-hendrerit-purus   Class praesent sapien velit hendrerit purus mattis varius, orci fringilla ultricies donec vitae aenean. Vitae ut bibendum varius justo tristique commodo aliquam non class sodale.
       --hendrerit                                     Hendrerit egestas.
       --vestibulum-torquent                           Vestibulum torquent porttitor himenaeos etiam imperdiet, elementum consequat suscipit pulvinar.
    -s --suscipit                                      Nisl fringilla suscipit libero cum sodales, nibh odio dictum.
tsingson commented 4 years ago

cool, thanks @udondan

integrii commented 4 years ago

This is awesome! I am not sure how I missed this PR in my Github notifications. I will read through closely tonight and get back to you.

I really appreciate your contribution here.

integrii commented 4 years ago

Sorry, looks like I forgot to hit the 'request changes' button for six days there.

udondan commented 4 years ago

Np, we're all busy. 😸 Thanks for considering the PR.

integrii commented 4 years ago

Thank you very much @udondan . I will cut a new release and tag for this with a changelog tonight, then you can go get -u github.com/integrii/flaggy the new tag into your projects.

udondan commented 4 years ago

Awesome, thanks! 😸