| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
| |
a -a/--all option to the set command
|
|
|
|
|
|
| |
It's functionality has been moved inside the set command.
The set command now uses an argparse parser.
|
| |
|
|
|
|
|
|
|
|
|
| |
1) cmd2 no longer imports make_option from optparse
- test files and examples now import this directly
- this helps emphasize that this old optparse methodology of adding options to commands is deprecated
2) All argparsers have been given custom names instead of just "argparser"
- this helps with readability and maintainability, especially with IDE renaming and such
|
|
|
|
| |
re.escape() changed behavior in python 3.7.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Escapes of slashes don’t work yet.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is so that non-essential info which isn't directly associated with command output, such as time elapsed while executing a command, won't redirect when command output is redirected using >, >>, or |.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes:
- case_insensitive is no longer a runtime-settable parameter, but it was still listed as such
- Fixed a recursive loop bug when abbreviated commands are enabled and it could get stuck in the editor forever
- Added additional command abbreviations to the "exclude from history" list
- Fixed argparse_example.py and pirate.py examples
Other changes:
- Organized all attributes used to configure the ParserManager into a single location
- Set the default value of "abbrev" to False (which controls whether or not abbreviated commands are allowed)
- With good tab-completion of command names, using abbreviated commands isn't a particularly useful feature
- And it can create problems
|
|
|
|
|
|
| |
It was pretty useless, it just printed a message and sat there and waited for the user to hit enter.
It didn't feel like it belonged in a top-level framework. If a particular application wants this functionality, it is a 2 line change to add it back.
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed a bug where CmdResult named tuple Truthiness wasn't working in Python 2
Removed unused cmd2.History.search() method.
Added unit tests for:
- History class
- cast() function
- CmdResult namedtuple
|
|
|
|
|
|
|
| |
Also
- Moved the existing tests for select to a more appropriate location
- Minor tweak to working in README for readability
|
|
|
|
| |
The self.settable object is now an OrderedDict instead of a custom StubbornDict.
|
|
|
|
|
|
| |
- Removed some dead code in cmd2.py which was never used
- Added a number of unit tests
- Fixed how get_paste_buffer() and write_paste_buffer() work on macOS so that they work correctly on both Python 2.7 and Python 3.3+
|
|
|
|
|
|
|
|
|
|
|
| |
Now by default all @options commands get passed a list of argument strings instead of a single argument string.
This is a much easier and more robust behavior to deal with. Additionally, command-line arguments are intelligently separated based on location of quotes to group things into a single argument.
WARNING: This change breaks backward compatibility for older applicaitons based on cmd2. To change the behavior to the way it used to be, add the following code to the __init__() method of our class derived from cmd2.Cmd:
cmd2.set_use_arg_list(False)
This change really does make it easier for developers new to using cmd2 however. It is to the point where I create all custom commands with @options, even if I use an empty list for the options because the argument parsing is just much better this way.
|
|
|
|
|
|
|
|
| |
This command is explicitly for running Python script files within an embedded Python interpreter.
The advantages over the py command with "run" are:
- Tab-completion of file system paths is supported
- Command-line arguments can be passed to the Python script
|
| |
|
|
|
|
|
|
|
|
| |
The extra functionality of listing a span (slice) of history items present in the list command has been incorporated into the existing history command and the list command has been removed.
Unit tests have been updated accordingly.
In the process a bug was fixed that was causing a crash if and end was supplied to the span but not a start.
|
|
|
|
|
|
|
|
| |
Added a list of commands to explicitly exclude displaying in the help menu of commands which detailed help can be retrieved for.
By default, only "do_eof" is in this list since that isn't a command which is ever intended for an end user to directly enter on the command line.
Also updated unit tests to reflect new default help menu.
|
|
|
|
|
|
| |
Transcript testing no longer creates an unnecessary 2nd instance of the class derived from cmd2.Cmd. This dramatically simplifies transcript testing for derived classes which have required parameters during construction.
As a side effect the, feedback_to_output attribute now defaults to false. This had some minor ripple effects on various unit tests.
|
|
|
|
| |
Also added a unit test for this feature.
|
|
|
|
| |
A few other miscellaneous minor tweaks for whitespace and such.
|
| |
|
|
|
|
|
|
|
|
| |
commands.
This is an experiment with usin non-POSIX parsing of the command line with shlex before passing it to the optparse OptionParser. The posix vs non-posix setitng primarily effects how quotes and escape characters are dealt with.
I'm experimenting with various options to see what may feel the most natural for the majority of end users.
|
|
|
|
|
|
|
|
| |
The out-of-the-box help menu now looks a lot cleaner:
- All redundant command aliases have been removed
(NOTE: They can still be used if self.abbrev is True, which is the default)
- All previously undocumented commands have been documented
- Unit tests and README.rst documentation has been updated to reflect new behavior
|
| |
|
|
|
|
|
|
|
|
| |
Fixed a bug which made parallelizing the unit tests with pytest-xdist unreliable.
The unit tests can now be run in parallel using pytest-xdist for a dramatic speedup on multicore machines. To do this use:
py.test -n4
(where 4 is the number of cores you wish to parallelize across)
|
|
|
|
|
| |
One for transcript testing with multi-line commands and commments at the beginning.
Another for cmdloop testing with use_rawinput = False
|
| |
|
| |
|
|
|
|
| |
Also added a unit test for the cmd2.Cmd.select() method.
|
| |
|
| |
|
|
|
|
| |
This was specifically for testing parsing of options with quotes provided to support embedded spaces
|
|
|
|
| |
quotes and mid-line options.
|
| |
|
| |
|
| |
|
|
|
|
| |
additional code.
|
| |
|