diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-11-19 22:24:13 -0500 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-11-19 22:24:13 -0500 |
commit | eee6bf15805fa8ed3ca713a4c6e8edfd9ebc5d4e (patch) | |
tree | 1ca2646da76dcb0e788e47d2ccf61de5a666e168 /cmd2/argparse_custom.py | |
parent | 8c00d342ee3967e09cce436d76208238307d1cd4 (diff) | |
download | cmd2-git-eee6bf15805fa8ed3ca713a4c6e8edfd9ebc5d4e.tar.gz |
Added capability to override the argument parser class used by cmd2 built-in commands
Diffstat (limited to 'cmd2/argparse_custom.py')
-rw-r--r-- | cmd2/argparse_custom.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/cmd2/argparse_custom.py b/cmd2/argparse_custom.py index f7dbc8a3..c6aa6550 100644 --- a/cmd2/argparse_custom.py +++ b/cmd2/argparse_custom.py @@ -182,7 +182,7 @@ import re import sys # noinspection PyUnresolvedReferences,PyProtectedMember from argparse import ZERO_OR_MORE, ONE_OR_MORE, ArgumentError, _ -from typing import Callable, Optional, Tuple, Union +from typing import Callable, Optional, Tuple, Type, Union from .ansi import ansi_aware_write, style_error @@ -806,3 +806,13 @@ class Cmd2ArgumentParser(argparse.ArgumentParser): if file is None: file = sys.stderr ansi_aware_write(file, message) + + +# The default ArgumentParser class for a cmd2 app +DEFAULT_ARGUMENT_PARSER = Cmd2ArgumentParser + + +def set_default_argument_parser(parser: Type[argparse.ArgumentParser]) -> None: + """Set the default ArgumentParser class for a cmd2 app""" + global DEFAULT_ARGUMENT_PARSER + DEFAULT_ARGUMENT_PARSER = parser |