LINUX.ORG.RU

История изменений

Исправление peregrine, (текущая версия) :

О раз уж тут жависты собрались (я наверное не про тебя, если ты автор бабашки или её пользователь), но всё же спрошу про такую библиотеку (это я с анона жаловался на picocli, потому как спать уже ушел, а в спальне у меня старый ноут с довольно древним оффтопиком и софтом весьма сомнительной безопасности, где я никуда не логинюсь по соображениям чтоб не увели аккаунт). Можно ли как-то переделать такое:

Usage: appname [-abcdehv] [-l=<level>] <some files and directories>
Description: some app for processing files
Arguments: 
      <some files and directories>
                      files and directories for processing
Options:
  -a, --archives      process archives
  -b, --basic         basic output
  -c, --creator       display creator
  -d, --description   display description
  -e, --editor        display editor
  -h, --help          display help and exit
  -l, --level         display very very long description which is too long for one
                        string. And it contains some Enum constants which need
                        descriptions too:
                        CONST1 - description 1
                        CONSTLONGER - description 2 which is too long too and
                        should be aligned too
                        CONST3 - description 3
                        CONST4 - description 4
  -v, --version       display version and exit
на такое:
Usage: appname [-abcdehv] [-l=<level>] <some files and directories>
Description: some app for processing files
Arguments: 
      <some files and directories>
                      files and directories for processing
Options:
  -a, --archives      process archives
  -b, --basic         basic output
  -c, --creator       display creator
  -d, --description   display description
  -e, --editor        display editor
  -h, --help          display help and exit
  -l, --level         display very very long description which is too long for one
                      string. And it contains some Enum constants which need
                      descriptions too:
                        CONST1      - description 1
                        CONSTLONGER - description 2 which is too long too and
                        	      should be aligned too
                        CONST3      - description 3
                        CONST4      - description 4
  -v, --version       display version and exit
в этом самом picocli и как это правильнее всего сделать. Как я понимаю логика picocli строится на колонках, а не смещениях (колонка начинается там где кончается предыдущая), так что придётся вытягивать ещё и размер последней колонки и формирование CONST1 - description 1 ... CONST4 - description 4 придётся делать костыльно, не добавляя в help колонку (что само по себе неприятно, а считая пробелы и переносы ручками).

Да костылик который предлагает автор (скармливать куски строк - плохой вариант, т.к. размер терминала не всегда 80 символов и для разных языков будет разная длинна строк)

Исходная версия peregrine, :

О раз уж тут жависты собрались (я наверное не про тебя, если ты автор бабашки или её пользователь), но всё же спрошу про такую библиотеку (это я с анона жаловался на picocli, потому как спать уже ушел, а в спальне у меня старый ноут с довольно древним оффтопиком и софтом весьма сомнительной безопасности, где я никуда не логинюсь по соображениям чтоб не увели аккаунт). Можно ли как-то переделать такое:

Usage: appname [-abcdehv] [-l=<level>] <some files and directories>
Description: some app for processing files
Arguments: 
      <some files and directories>
                      files and directories for processing
Options:
  -a, --archives      process archives
  -b, --basic         basic output
  -c, --creator       display creator
  -d, --description   display description
  -e, --editor        display editor
  -h, --help          display help and exit
  -l, --level         display very very long description which is too long for one
                        string. And it contains some Enum constants which need
                        descriptions too:
                        CONST1 - description 1
                        CONSTLONGER - description 2 which is too long too and
                        should be aligned too
                        CONST3 - description 3
                        CONST4 - description 4
  -v, --version       display version and exit
на такое:
Usage: appname [-abcdehv] [-l=<level>] <some files and directories>
Description: some app for processing files
Arguments: 
      <some files and directories>
                      files and directories for processing
Options:
  -a, --archives      process archives
  -b, --basic         basic output
  -c, --creator       display creator
  -d, --description   display description
  -e, --editor        display editor
  -h, --help          display help and exit
  -l, --level         display very very long description which is too long for one
                      string. And it contains some Enum constants which need
                      descriptions too:
                        CONST1      - description 1
                        CONSTLONGER - description 2 which is too long too and
                        	      should be aligned too
                        CONST3      - description 3
                        CONST4      - description 4
  -v, --version       display version and exit
в этом самом picocli и как это правильнее всего сделать. Как я понимаю логика picocli строится на колонках, а не смещениях (колонка начинается там где кончается предыдущая), так что придётся вытягивать ещё и размер последней колонки и формирование CONST1 - description 1 ... CONST4 - description 4 придётся делать костыльно, не добавляя в help колонку (что само по себе неприятно, а считая пробелы и переносы ручками).