summaryrefslogtreecommitdiff
path: root/cmd2/argparse_completer.py
Commit message (Collapse)AuthorAgeFilesLines
* Argparse tab completer will complete remaining flag names if there are no ↵Kevin Van Brunt2021-09-071-3/+4
| | | | more positionals to complete.
* Added cmd2.Cmd method to determine what ArgparseCompleter type to useKevin Van Brunt2021-09-011-15/+3
|
* Added ap_completer_type arg to Cmd2ArgumentParser.__init__().Kevin Van Brunt2021-09-011-1/+1
| | | | Added unit tests for custom ArgparseCompleter
* Refactored custom ArgparseCompleter functionality so they will now be set ↵Kevin Van Brunt2021-09-011-10/+31
| | | | | | 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-11/+34
|\
| * * New function `set_default_command_completer_type()` allows developer to ↵Eric Lin2021-08-231-11/+34
| | | | | | | | | | | | | | | | | | 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.
* | set command output now uses SimpleTable.Kevin Van Brunt2021-08-191-1/+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-10/+4
| | | | | | class. Deprecated set_choices_provider() and set_completer() functions in favor of these new methods.
* And that's the last of it. Passes mypy.Eric Lin2021-04-061-15/+29
|
* More mypy fixesEric Lin2021-04-061-29/+46
|
* Fixed issue where argparse choices could not be CompletionItemsKevin Van Brunt2021-03-021-2/+5
|
* Made changes requested in code reviewKevin Van Brunt2021-03-021-1/+1
|
* Added support for ANSI styles and newlines in tab completion resultsKevin Van Brunt2021-03-021-13/+10
|
* Deprecate Python 3.5Todd Leonhardt2021-02-201-1/+1
|
* Fixed black, isort, flake8, and doc8 issuesTodd Leonhardt2021-02-191-15/+28
|
* Merge branch 'master' into blackTodd Leonhardt2021-02-191-51/+45
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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-6/+24
| |\
| * \ Merge branch 'master' into 2.0Kevin Van Brunt2020-11-121-2/+6
| |\ \
| * \ \ Merge branch '2.0' into read_inputKevin Van Brunt2020-09-091-1/+19
| |\ \ \
| | * \ \ Merge branch 'master' into 2.0Kevin Van Brunt2020-09-091-1/+19
| | |\ \ \
| * | \ \ \ Merge branch '2.0' into read_inputKevin Van Brunt2020-09-051-30/+38
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge branch 'master' into 2.0Kevin Van Brunt2020-09-051-30/+38
| | |\ \ \ \
| * | | | | | Updated commentsKevin Van Brunt2020-09-011-1/+1
| | | | | | |
| * | | | | | Refactored ArgparseCompleter to support custom completionKevin Van Brunt2020-09-011-23/+29
| |/ / / / /
| * | | | | Replaced choices_function / choices_method with choices_provider.Kevin Van Brunt2020-08-131-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 in isort changesTodd Leonhardt2021-01-311-2/+6
| | | | | |
* | | | | | Add black for automatic code formatTodd Leonhardt2021-01-311-44/+54
| |_|_|_|/ |/| | | |
* | | | | Changed isort to force wrapping of imports to reduce merge conflicts from ↵Eric Lin2021-01-221-6/+25
| |_|_|/ |/| | | | | | | | | | | minor import changes.
* | | | Fixed bug where setting always_show_hint=True did not show a hint when ↵settable_hintKevin Van Brunt2020-11-121-2/+6
| |_|/ |/| | | | | | | | completing Settables
* | | argparse tab completion now groups flag names which run the same action. ↵Kevin Van Brunt2020-09-091-1/+19
| |/ |/| | | | | | | | | Optional flags are wrapped in brackets like it is done in argparse usage text.
* | Added always_show_hint settingKevin Van Brunt2020-09-051-30/+38
|/ | | | Fixed issue where flag names weren't always sorted correctly in argparse tab completion
* Fixed tab completion bug when using CompletionItem on an argument whose ↵Kevin Van Brunt2020-08-131-15/+24
| | | | metavar is a tuple
* When passing a ns_provider to an argparse command, will now attempt to ↵Eric Lin2020-08-121-39/+9
| | | | 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-1/+2
| | | | | | CommandSet command functions (do_, complete_, help_). Renamed install_command_set and uninstall_command_set to register_command_set and unregister_command_set.
* Verify that a completer function is defined in a CommandSet beforeEric Lin2020-08-061-7/+38
| | | | | | | | | | passing it a CommandSet instance. Search for a CommandSet instance that matches the completer's parent class type.` Resolves Issue #967 Renamed isolated_tests directory to tests_isolated for better visual grouping. Added some exception documentation
* Now maintains a command->CommandSet mapping and passes the CommandSetanselor2020-08-041-5/+17
| | | | | | | | | | | | | | | 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.
* Removed divider row from tab completion hint tableKevin Van Brunt2020-06-011-1/+1
|
* Optimized importsKevin Van Brunt2020-06-011-2/+1
|
* Changed how SimpleTable creates divider when divider_char is wide. It no ↵Kevin Van Brunt2020-06-011-3/+2
| | | | longer stretches the width of the table.
* Updated argparse_completer to use TableCreator for the hint tableKevin Van Brunt2020-05-281-18/+27
|
* Added info on semantic versioning and branching strategy to CONTRIBUTING.mdTodd Leonhardt2020-04-241-4/+10
| | | | | | | 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
* Initial commit of table creation APIKevin Van Brunt2020-04-091-5/+4
|
* Removed extra new line in error messageKevin Van Brunt2020-02-181-1/+1
|
* Added apply_style to CompletionErrorKevin Van Brunt2020-02-181-44/+12
| | | | Simplified error class structure in argparse_completer.py
* Fixed issue where argparse completion errors were being rewrapped as ↵Kevin Van Brunt2020-02-181-7/+16
| | | | _ActionCompletionError in some cases
* Made CompletionError exception available to non-argparse tab completionKevin Van Brunt2020-02-171-123/+113
|
* Renamed AutoCompleter to ArgparseCompleter for clarityKevin Van Brunt2020-02-171-15/+15
|
* Using metavar in CompletionItem header if it has been setKevin Van Brunt2020-02-131-2/+4
|
* Removed unnecessary inheritance from objectKevin Van Brunt2020-02-041-2/+2
|
* Renamed ansi_safe_wcswidth() to style_aware_wcswidth()Kevin Van Brunt2019-12-191-3/+3
| | | | Renamed ansi_aware_write() to style_aware_write()