Override to handle all cmd2-specific formatting in _format_args().
(
self,
action: argparse.Action,
default_metavar: str,
)
| 214 | return super()._format_args(action, default_metavar) |
| 215 | |
| 216 | def _rich_metavar_parts( |
| 217 | self, |
| 218 | action: argparse.Action, |
| 219 | default_metavar: str, |
| 220 | ) -> Iterator[tuple[str, bool]]: |
| 221 | """Override to handle all cmd2-specific formatting in _format_args().""" |
| 222 | get_metavar = self._metavar_formatter(action, default_metavar) |
| 223 | |
| 224 | # Handle nargs specified as a range |
| 225 | nargs_range = action.get_nargs_range() # type: ignore[attr-defined] |
| 226 | if nargs_range is not None: |
| 227 | yield "%s" % get_metavar(1), True # noqa: UP031 |
| 228 | yield self._build_nargs_range_str(nargs_range), False |
| 229 | return |
| 230 | |
| 231 | # Handle specific integer nargs (e.g., nargs=5 -> arg{5}) |
| 232 | if not isinstance(action.metavar, tuple) and isinstance(action.nargs, int) and action.nargs > 1: |
| 233 | yield "%s" % get_metavar(1), True # noqa: UP031 |
| 234 | yield f"{{{action.nargs}}}", False |
| 235 | return |
| 236 | |
| 237 | # Fallback to parent for all other cases |
| 238 | yield from super()._rich_metavar_parts(action, default_metavar) |
| 239 | |
| 240 | |
| 241 | class RawDescriptionCmd2HelpFormatter( |