MCPcopy Create free account
hub / github.com/python-cmd2/cmd2 / _rich_metavar_parts

Method _rich_metavar_parts

cmd2/rich_utils.py:216–238  ·  view source on GitHub ↗

Override to handle all cmd2-specific formatting in _format_args().

(
        self,
        action: argparse.Action,
        default_metavar: str,
    )

Source from the content-addressed store, hash-verified

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
241class RawDescriptionCmd2HelpFormatter(

Callers 1

test_rich_metavar_partsFunction · 0.80

Calls 1

Tested by 1

test_rich_metavar_partsFunction · 0.64