summaryrefslogtreecommitdiff
path: root/cmd2/cmd2.py
Commit message (Collapse)AuthorAgeFilesLines
* Fixed issue where instantiating more than one cmd2-based class which uses ↵duplicate_subcommandKevin Van Brunt2020-09-301-0/+8
| | | | | | the @as_subcommand_to decorator resulted in duplicated help text in the base command the subcommands belong to.
* Fixed issue where quoted redirectors and terminators in aliases and macros ↵Kevin Van Brunt2020-09-301-16/+54
| | | | | | were not being restored when read from a startup script.
* Only setting subcommand handler on attached_parser and not its parent parserKevin Van Brunt2020-09-281-4/+6
|
* Small refactorsilenceKevin Van Brunt2020-09-171-6/+6
|
* Merge branch 'master' into silenceKevin Van Brunt2020-09-171-1/+6
|\
| * Changes default category to be heritable by default - meaning that ↵Eric Lin2020-09-111-1/+6
| | | | | | | | | | | | subclasses will inherit the parent class's default category. Adds optional flag to disable heritability.
* | Added --silent flag to alias/macro create.Kevin Van Brunt2020-09-101-12/+36
|/ | | | Added --with_silent flag to alias/macro list.
* Added type hintKevin Van Brunt2020-09-051-2/+1
|
* Added always_show_hint settingKevin Van Brunt2020-09-051-14/+35
| | | | Fixed issue where flag names weren't always sorted correctly in argparse tab completion
* Added CommandSet.on_unregistered()Kevin Van Brunt2020-09-031-2/+4
|
* Added on_registered() callback to CommandSetKevin Van Brunt2020-09-011-0/+1
|
* Fixed issue where subcommand added with @as_subcommand_to decorator did not ↵Kevin Van Brunt2020-08-271-9/+9
| | | | | | display help when called with -h/--help. 'add_help=False' no longer has to be passed to parsers used in @as_subcommand_to decorator.
* The functions cmd2 adds to Namespaces (get_statement() and get_handler()) ↵Kevin Van Brunt2020-08-261-2/+2
| | | | | | | 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 RecursionError when printing an argparse.Namespace caused by custom ↵Kevin Van Brunt2020-08-251-1/+3
| | | | | | attribute cmd2 was adding Added get_statement() function to argparse.Namespace which returns __statement__ attribute
* Fixed typoKevin Van Brunt2020-08-211-1/+1
|
* Added validation of subcommand handler attributesEric Lin2020-08-201-1/+5
|
* Fixed AttributeError when CommandSet that uses as_subcommand_to decorator is ↵Kevin Van Brunt2020-08-191-16/+22
| | | | loaded during cmd2.Cmd.__init__().
* When passing a ns_provider to an argparse command, will now attempt to ↵Eric Lin2020-08-121-1/+49
| | | | resolve the correct CommandSet instance for self. If not, it'll fall back and pass in the cmd2 app
* Breaking change: Removed cmd2 app as a required second parameter toEric Lin2020-08-121-19/+12
| | | | | | CommandSet command functions (do_, complete_, help_). Renamed install_command_set and uninstall_command_set to register_command_set and unregister_command_set.
* Updated with missing doc-string for new CommandSet parameters for cmd2.Cmd's ↵Eric Lin2020-08-101-0/+8
| | | | constructor
* Will now traverse down CommandSet inheritance tree to find all leaf descendants.1.3.2Eric Lin2020-08-101-8/+38
| | | | | | CommandSet now has a check to ensure it is only registered with one cmd2.Cmd instance at a time. Adds function to find command set by type and by command name
* Moved a comment to better section off codeKevin Van Brunt2020-08-071-8/+8
|
* Removed unnecessary prog value from subcommand parsersKevin Van Brunt2020-08-071-6/+6
|
* Moved code which copies subparser's settings to _register_subcommands().Kevin Van Brunt2020-08-071-155/+175
| | | | | Changed alias and macro commands to use as_subcommand_to() decorator. Updated CommandSet subcommand example to use help and description text.
* Minor formatting fixes. Injecting a function into namespace objects before ↵Eric Lin2020-08-041-7/+8
| | | | passing to command handlers to access sub-command handlers
* Now maintains a command->CommandSet mapping and passes the CommandSetanselor2020-08-041-36/+104
| | | | | | | | | | | | | | | 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.
* Added handling for disabled commands to CommandSet functionsKevin Van Brunt2020-08-041-6/+19
|
* Fixes to how command callables are filtered from CommandSetEric Lin2020-08-041-4/+5
|
* Fixed issue where we attempted to remove CommandSet from a list it was not inKevin Van Brunt2020-08-041-1/+2
|
* Removed sub-class and instead patch argparse._SubParsersActionEric Lin2020-08-041-3/+3
|
* Suggested PR Fixes.Eric Lin2020-08-041-19/+15
| | | | | sub-commande => subcommand Added help/aliases to `as_subcommand_to` decorator.
* Adds unit tests for sub-commands and additional commandset edge casesEric Lin2020-08-041-12/+17
|
* Adds support for injectable subcommands as part of CommandSetEric Lin2020-08-041-5/+94
| | | | | | load/unload. Updated examples and documentation to include discussion of injectable sub-commands.
* updated importsEric Lin2020-08-041-3/+2
| | | | Added additional documentation
* Removed support for functions outside of CommandSetsEric Lin2020-08-041-74/+11
|
* Added an additional check for isinstance(method, Callable) since there are ↵Eric Lin2020-08-041-1/+2
| | | | scenarios where inspect.ismethod() fails for some reason
* Added more command validation. Moved some common behavior into private ↵Eric Lin2020-08-041-26/+49
| | | | functions.
* Fixes to sphinx generationEric Lin2020-08-041-1/+1
|
* Fixes issue with locating help_ annd complete_ functions when autoloading ↵Eric Lin2020-08-041-5/+27
| | | | | | command functions Adds handling of some edge cases. More thorough test coverage.
* add ability to remove commands and commandsetsEric Lin2020-08-041-4/+46
| | | | Issue #943
* Added new constructor parameter to flag whether commands should autoload. ↵Eric Lin2020-08-041-31/+83
| | | | | | Added unit tests. Moved installing commands into separate functions that can be called Issue #943
* Some minor cleanup of how imports work. Fixed issue with help documentation ↵Eric Lin2020-08-041-4/+4
| | | | | | for CommandSet commands. Issue #943
* Initial implementation of modular command loadingEric Lin2020-08-041-2/+64
| | | | | | | | | | Issue #943 New class CommandSet can be used to tag a class as a command class. If the constructor is simple, the object will automatically be instantiated and loaded. New register_command decorator to tag any arbitrary function as a command.
* Added type annotations for fields in cmd2.Cmd.Eric Lin2020-07-211-26/+27
| | | | | | | Cleaned up docstring in external test plugin Updated some initialization to match new approach for version info discovery. Tagged some IDE-only lines as no-cover Adds plugin coverage reporting.
* Fixed hook documentationKevin Van Brunt2020-07-171-4/+4
|
* Merge branch 'master' into hint_bugKevin Van Brunt2020-06-011-24/+30
|\
| * Removed pwarning() calls when command raises SystemExitKevin Van Brunt2020-05-281-2/+0
| | | | | | | | Added unit tests
| * Made following changes to onecmd_plus_hooks()Kevin Van Brunt2020-05-071-17/+25
| | | | | | | | | | 1. Added SystemExit handling by warning the user it's occured and setting stop to True 2. KeyboardInterrupts won't be raised if stop is already set to True.
| * Added SkipPostcommandHooks exception and made Cmd2ArgparseError inherit from it.Kevin Van Brunt2020-05-071-7/+7
| | | | | | | | Both exception classes have been added to the public API.
* | Updated argparse_completer to use TableCreator for the hint tableKevin Van Brunt2020-05-281-2/+2
|/