| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Fixed crashes that occur when attempting to open a file in a non-existent directory or a when the filename is too long.
Specifically fixed this when redirecting output to a file and when saving a transcript based on the history.
Also added a couple unit tests related to the fixes.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
Added some shared definitions to cmd2/__init__.py -> maybe there's a better place for these?
Figured out how to trick bash into showing argument hints. It's a bit weird.
Updated all of the tests and examples to import cmd2 resources from their new location without the automatic imports in cmd2/__init__.py
For #369
|
| | | |
|
| |/ |
|
| |
|
|
|
| |
Removed things which were only needed for unit tests from __init__.py
- Converted to importing from cmd2.cmd2.<foo> within the relevant unit tests
|
| | |
|
| | |
|
| |
|
|
| |
This reverts commit 4a3d01b679c5db7f6cb670ca981a953eb3b98dc5.
|
| |
|
|
| |
Still have a fair amount of work to do to get this sorted.
|
| | |
|
| |
|
|
|
|
|
| |
Removed all dependency on six other than for six.moves.input
Also:
- Started removing code branches which were for Python 2 support
|
| |
|
|
|
| |
mock was a backport of Python's built in unittest.mock and was required for Python 3.2 or earlier
- Since we now support Python 3.4+ moving forward we no longer need to make use of the 3rd party mock module
|
| |
|
|
|
| |
Also:
- Bumped version to 0.8.4
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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
|
| | |
|