From 8f9314dee825e98369d0d2586f7d3b00e193d00b Mon Sep 17 00:00:00 2001 From: florez Date: Thu, 30 Jan 2025 12:32:07 +0100 Subject: [PATCH 1/2] Pass custom help formatter to subparsers (#336) --- simple_parsing/wrappers/field_wrapper.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/simple_parsing/wrappers/field_wrapper.py b/simple_parsing/wrappers/field_wrapper.py index 5cf31090..8c958b6c 100644 --- a/simple_parsing/wrappers/field_wrapper.py +++ b/simple_parsing/wrappers/field_wrapper.py @@ -1021,7 +1021,9 @@ def add_subparsers(self, parser: ArgumentParser): # subparsers.required = default_value is dataclasses.MISSING for subcommand, dataclass_type in self.subparsers_dict.items(): logger.debug(f"adding subparser '{subcommand}' for type {dataclass_type}") - subparser = subparsers.add_parser(subcommand) + subparser = subparsers.add_parser( + subcommand, formatter_class=parser.formatter_class + ) # Just for typing correctness, as we didn't explicitly change # the return type of subparsers.add_parser method.) subparser = cast("ArgumentParser", subparser) From 72cea15554d4b70fda8bbc953d3bfa4e3b122888 Mon Sep 17 00:00:00 2001 From: Fabrice Normandin Date: Fri, 31 Jan 2025 10:30:40 -0500 Subject: [PATCH 2/2] Fix formatting in field_wrapper.py Signed-off-by: Fabrice Normandin --- simple_parsing/wrappers/field_wrapper.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/simple_parsing/wrappers/field_wrapper.py b/simple_parsing/wrappers/field_wrapper.py index 8c958b6c..62f79bc4 100644 --- a/simple_parsing/wrappers/field_wrapper.py +++ b/simple_parsing/wrappers/field_wrapper.py @@ -1021,9 +1021,7 @@ def add_subparsers(self, parser: ArgumentParser): # subparsers.required = default_value is dataclasses.MISSING for subcommand, dataclass_type in self.subparsers_dict.items(): logger.debug(f"adding subparser '{subcommand}' for type {dataclass_type}") - subparser = subparsers.add_parser( - subcommand, formatter_class=parser.formatter_class - ) + subparser = subparsers.add_parser(subcommand, formatter_class=parser.formatter_class) # Just for typing correctness, as we didn't explicitly change # the return type of subparsers.add_parser method.) subparser = cast("ArgumentParser", subparser)