summaryrefslogtreecommitdiff
path: root/cmd2/argparse_custom.py
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate support for Python 3.6 and remove dependency on attrs (#1257)Todd Leonhardt2023-01-311-2/+2
| | | | | | | | | | | | | * Start deprecation of Python 3.6 * Removed dependency on attrs and replaced with dataclasses * Fix typing * Added comments to assist with dropping support of Python versions in the future. --------- Co-authored-by: Kevin Van Brunt <kmvanbrunt@gmail.com>
* Fixed mypy and flake8 errors.Kevin Van Brunt2023-01-271-1/+1
|
* Use latest version of mypy and fix type hinting accordingly (#1239)Todd Leonhardt2022-07-141-2/+2
| | | | | | | | | | | | * Use latest version of mypy and fix type hinting accordingly Also: - Update Pipfile to never require mock since we only support Python 3.6+ - Remove Azure Pipelines badge from Readme and fix section links there - Added an "inv format" task to run black and isort to auto-format all code before a commit * Try to fix type errors on versions prior to 3.8 * Restored correct types in argparse_custom.py
* ArgparseCompleter now sorts CompletionItems created with numerical values as ↵Kevin Van Brunt2021-11-181-3/+3
| | | | | | | | | numbers. Completion hint tables now right-align the left column if the hints have a numerical type. Fixed issue introduced in 2.3.0 with AlternatingTable, BorderedTable, and SimpleTable that caused header alignment settings to be overridden by data alignment settings.
* Added ability to use CompletionItems as argparse choicesKevin Van Brunt2021-11-181-7/+58
|
* Updating docsKevin Van Brunt2021-09-011-0/+2
|
* Added ap_completer_type arg to Cmd2ArgumentParser.__init__().Kevin Van Brunt2021-09-011-0/+11
| | | | Added unit tests for custom ArgparseCompleter
* Refactored custom ArgparseCompleter functionality so they will now be set ↵Kevin Van Brunt2021-09-011-3/+65
| | | | | | using methods on ArgumentParser objects. This fixes issue where subcommands did not use the correct custom ArgparseCompleter type.
* Merge branch 'master' into topic_widthKevin Van Brunt2021-08-231-1/+83
|\
| * Updated documentation for setting custom parsersKevin Van Brunt2021-08-231-1/+4
| |
| * Applied black formatEric Lin2021-08-231-0/+1
| |
| * * New function `set_default_command_completer_type()` allows developer to ↵Eric Lin2021-08-231-0/+78
| | | | | | | | | | | | | | | | | | extend and modify the behavior of `ArgparseCompleter`. * New function `register_argparse_argument_parameter()` allows developers to specify custom parameters to be passed to the argparse parser's `add_argument()` method. These parameters will become accessible in the resulting argparse Action object when modifying `ArgparseCompleter` behavior.
* | Updated documentationtopic_widthKevin Van Brunt2021-08-191-0/+1
| |
* | Merge branch 'master' into topic_widthKevin Van Brunt2021-08-191-25/+0
|\ \ | |/
| * Deleted set_choices_provider() and set_completer() which were deprecated in ↵Kevin Van Brunt2021-08-191-25/+0
| | | | | | | | 2.1.2
* | set command output now uses SimpleTable.Kevin Van Brunt2021-08-191-0/+1
|/ | | | | | | Tabled tab completion now includes divider row. Tab completion results for aliases, macros, and Settables wrap long fields. SimpleTable now accepts blank for the divider character. It is identical to passing None. Removed --verbose flag from set command so the descriptions always show.
* Added accessor methods for cmd2-specific attributes to the argparse.Action ↵Kevin Van Brunt2021-07-041-50/+269
| | | | | | class. Deprecated set_choices_provider() and set_completer() functions in favor of these new methods.
* Fixed handling of argparse's default options group name which was changed in ↵Kevin Van Brunt2021-06-171-2/+7
| | | | Python 3.10
* Updated main code to use f-stringsKevin Van Brunt2021-04-131-12/+10
|
* And that's the last of it. Passes mypy.Eric Lin2021-04-061-3/+31
|
* More mypy fixesEric Lin2021-04-061-10/+21
|
* More mypy validation changes. cmd2.py is nearly fully mypy compliant now.Eric Lin2021-04-021-4/+3
|
* More things to make mypy happy.Eric Lin2021-04-021-2/+2
|
* Resolves comments from PREric Lin2021-03-181-31/+110
|
* Some mypy validation fixesEric Lin2021-03-181-27/+43
|
* Start making small changes to fix mypy warningsTodd Leonhardt2021-02-211-4/+5
|
* Fixed black, isort, flake8, and doc8 issuesTodd Leonhardt2021-02-191-13/+17
|
* Merge branch 'master' into blackTodd Leonhardt2021-02-191-119/+62
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # cmd2/__init__.py # cmd2/argparse_completer.py # cmd2/argparse_custom.py # cmd2/cmd2.py # cmd2/decorators.py # cmd2/exceptions.py # cmd2/utils.py # examples/arg_decorators.py # examples/argparse_completion.py # examples/modular_commands_main.py # tests/test_argparse_completer.py # tests/test_argparse_custom.py # tests/test_cmd2.py # tests/test_completion.py # tests/test_history.py
| * Merge branch 'master' into 2.0Kevin Van Brunt2021-01-221-4/+19
| |\
| * \ Merge branch 'master' into 2.0Todd Leonhardt2020-11-111-11/+13
| |\ \ | | | | | | | | | | | | | | | | # Conflicts: # CHANGELOG.md
| * \ \ Merge branch 'master' into 2.0Kevin Van Brunt2020-08-271-1/+19
| |\ \ \
| * | | | Documented support for standalone functions being used as completers and ↵Kevin Van Brunt2020-08-181-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | choices_providers. Added unit tests for this case.
| * | | | Replaced choices_function / choices_method with choices_provider.Kevin Van Brunt2020-08-131-100/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced completer_function / completer_method with completer. ArgparseCompleter now always passes cmd2.Cmd or CommandSet instance as the self argument to choices_provider and completer functions. Moved basic_complete from utils into cmd2.Cmd class. Moved CompletionError to exceptions.py
* | | | | Add black for automatic code formatTodd Leonhardt2021-01-311-36/+55
| |_|_|/ |/| | |
* | | | Changed isort to force wrapping of imports to reduce merge conflicts from ↵Eric Lin2021-01-221-4/+19
| |_|/ |/| | | | | | | | minor import changes.
* | | Fixed issue where instantiating more than one cmd2-based class which uses ↵duplicate_subcommandKevin Van Brunt2020-09-301-11/+13
| |/ |/| | | | | | | | | the @as_subcommand_to decorator resulted in duplicated help text in the base command the subcommands belong to.
* | The functions cmd2 adds to Namespaces (get_statement() and get_handler()) ↵Kevin Van Brunt2020-08-261-1/+19
|/ | | | | | | are now Cmd2AttributeWrapper objects named cmd2_statement and cmd2_handler. This makes it easy to filter out which attributes in an argparse.Namespace were added by cmd2.
* Fixed bug when trying to format help text of argument which used a tuple as ↵Kevin Van Brunt2020-08-121-18/+27
| | | | its metavar
* Breaking change: Removed cmd2 app as a required second parameter toEric Lin2020-08-121-9/+2
| | | | | | CommandSet command functions (do_, complete_, help_). Renamed install_command_set and uninstall_command_set to register_command_set and unregister_command_set.
* Minor formatting fixes. Injecting a function into namespace objects before ↵Eric Lin2020-08-041-1/+0
| | | | passing to command handlers to access sub-command handlers
* Now maintains a command->CommandSet mapping and passes the CommandSetanselor2020-08-041-11/+35
| | | | | | | | | | | | | | | through to the ArgparseCompleter if one is registered. For subcommands, the registered argparse instance for the subcommand is now tagged with the CommandSet from which it originated. If a CommandSet is detected, it's now passed in as 'self' for the completion functions. Fixes some issue found with removing a subcommand. Adds additional tests. Added a check to prevent removal of a CommandSet if it has commands with sub-commands from another CommandSet bound to it. Documentation improvements. Standardized around using CommandSetRegistrationException during commandset install/uninstall related errors. Added support for nested sub-command injection.
* Updated documentationKevin Van Brunt2020-08-041-2/+10
|
* Updated documentationKevin Van Brunt2020-08-041-1/+5
|
* Fixed typo in documentationKevin Van Brunt2020-08-041-3/+3
|
* Removed sub-class and instead patch argparse._SubParsersActionEric Lin2020-08-041-24/+26
|
* Suggested PR Fixes.Eric Lin2020-08-041-1/+1
| | | | | sub-commande => subcommand Added help/aliases to `as_subcommand_to` decorator.
* Adds support for injectable subcommands as part of CommandSetEric Lin2020-08-041-2/+30
| | | | | | load/unload. Updated examples and documentation to include discussion of injectable sub-commands.
* Updates the example to remove usage of the now remove ability toEric Lin2020-08-041-5/+26
| | | | | | | | | | register arbitrary functions as commands. Added example that demonstrates use of each of the command decorators with CommandSets. Adds unit test that verifies that CommandSets containing decorators load and process commands correctly. Updated the constructor declaration for Cmd2ArgumentParser to explicitly re-declare argparse constructor parameters.
* Added info on semantic versioning and branching strategy to CONTRIBUTING.mdTodd Leonhardt2020-04-241-1/+1
| | | | | | | Also: - Added isort to Pipenv dev - Added setup.cfg to make it easy to run flake8, doc8, and isort directly from the command line without using invoke - Ran isort to sort includes
* Completion doc updatesKevin Van Brunt2020-04-231-12/+9
|