Unhelpful error message when creating help if an argument doesn't have a help text
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
### Bug Description
If a command adds an argument without `help` text, the error raised isn't very useful. It should give a better error.
### To Reproduce
```
import sys
import craft_cli
class ExampleCommand(craft_cli.BaseCommand):
name = "example"
help_msg = overview = "unimportant"
def fill_parser(self, parser):
parser.add_argument("--do-something")
craft_cli.emit.init(craft_cli.EmitterMode.BRIEF, "example-app", "example app")
dispatcher = craft_cli.Dispatcher(
"example-app",
[craft_cli.CommandGroup("Example", [ExampleCommand])],
summary="summary"
)
dispatcher.pre_parse_args(sys.argv[1:])
dispatcher.load_command(None)
dispatcher.run()
```
`python ./example.py help example`
### part yaml
```shell
n/a
```
### Relevant log output
```shell
Traceback (most recent call last):
File "/home/lengau/Work/Code/charmcraft-2/charmcraft/application/commands/example.py", line 22, in <module>
dispatcher.pre_parse_args(sys.argv[1:])
File "/home/lengau/Work/Code/charmcraft-2/.venv/lib/python3.11/site-packages/craft_cli/dispatcher.py", line 469, in pre_parse_args
help_text = self._get_requested_help(cmd_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lengau/Work/Code/charmcraft-2/.venv/lib/python3.11/site-packages/craft_cli/dispatcher.py", line 355, in _get_requested_help
return self._help_builder.get_command_help(command, command_options, output_format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lengau/Work/Code/charmcraft-2/.venv/lib/python3.11/site-packages/craft_cli/helptexts.py", line 425, in get_command_help
textblocks = builder(usage, command.overview, options, other_command_names)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lengau/Work/Code/charmcraft-2/.venv/lib/python3.11/site-packages/craft_cli/helptexts.py", line 312, in _build_plain_command_help
option_lines.extend(_build_item_plain(title, text, max_title_len))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lengau/Work/Code/charmcraft-2/.venv/lib/python3.11/site-packages/craft_cli/helptexts.py", line 71, in _build_item_plain
first = f" {title:>{title_space}s}: {wrapped_lines[0]}"
~~~~~~~~~~~~~^^^
IndexError: list index out of range
```
Evaluation history
No evaluation history available.