@@ -1740,13 +1740,9 @@ def man_add_parser(name, **kwargs):
17401740 subparsers .add_parser = man_add_parser
17411741 return subparsers
17421742
1743-
1744- def get_parser (for_manpage = True ) -> argparse .ArgumentParser :
1745- # if the parser is requested for manpage generation, some workarounds are needed
1746- if for_manpage :
1747- parser = ManpageArgumentParser ()
1748- else :
1749- parser = argparse .ArgumentParser ()
1743+ def get_parser (auto_doc_mode = False ) -> "argparse.ArgumentParser | AutoProgramArgumentParser" :
1744+ # use custom parser for sphinxcontrib.autoprogram
1745+ parser = ManpageArgumentParser () if auto_doc_mode else argparse .ArgumentParser ()
17501746
17511747 parser .add_argument (
17521748 "-x" ,
@@ -1786,7 +1782,7 @@ def get_parser(for_manpage=True) -> argparse.ArgumentParser:
17861782 )
17871783
17881784 # if the argparse object is to be used for manpage generation, hide some subcommands
1789- if not for_manpage :
1785+ if not auto_doc_mode :
17901786 subparser = subparsers .add_parser ("help" )
17911787
17921788 subparser = subparsers .add_parser ("complete" )
@@ -2046,7 +2042,7 @@ def get_parser(for_manpage=True) -> argparse.ArgumentParser:
20462042 "-p" ,
20472043 "--partition" ,
20482044 type = int ,
2049- choices = (None if for_manpage else range (0 , 256 )),
2045+ choices = (None if auto_doc_mode else range (0 , 256 )),
20502046 metavar = "0-255" ,
20512047 default = 1 ,
20522048 help = "partition number to mount or 0 to mount whole disk (default: %(default)s)" ,
@@ -2140,7 +2136,7 @@ def main():
21402136 initial_state = os .environ .get ("LG_INITIAL_STATE" , None )
21412137 token = os .environ .get ("LG_TOKEN" , None )
21422138
2143- parser = get_parser (for_manpage = False )
2139+ parser = get_parser ()
21442140
21452141 # make any leftover arguments available for some commands
21462142 args , leftover = parser .parse_known_args ()
0 commit comments