Skip to content

0.9.11 (March 13, 2019)

Compare
Choose a tag to compare
@kmvanbrunt kmvanbrunt released this 13 Mar 13:13
· 1908 commits to master since this release
  • Bug Fixes
    • Fixed bug in how history command deals with multiline commands when output to a script
    • Fixed a bug when the with_argument_list decorator is called with the optional preserve_quotes argument
    • Fix bug in perror() where it would try to print an exception Traceback even if none existed
  • Enhancements
    • Improvements to the history command
      • Simplified the display format and made it more similar to bash
      • Added -x, --expanded flag
        • output expanded commands instead of entered command (expands aliases, macros, and shortcuts)
      • Added -v, --verbose flag
        • display history and include expanded commands if they differ from the typed command
      • Added support for negative indices
    • Added matches_sort_key to override the default way tab completion matches are sorted
    • Added StdSim.pause_storage member which when True will cause StdSim to not save the output sent to it. See documentation for CommandResult in pyscript_bridge.py for reasons pausing the storage can be useful.
    • Added ability to disable/enable individual commands and entire categories of commands. When a command is disabled, it will not show up in the help menu or tab complete. If a user tries to run the command or call help on it, a command-specific message supplied by the developer will be printed. The following commands were added to support this feature.
      • enable_command()
      • enable_category()
      • disable_command()
      • disable_category()
  • Potentially breaking changes
    • Made cmd2_app a positional and required argument of AutoCompleter since certain functionality now requires that it can't be None.
    • AutoCompleter no longer assumes CompletionItem results are sorted. Therefore you should follow the cmd2 convention of setting self.matches_sorted to True before returning the results if you have already sorted the CompletionItem list. Otherwise it will be sorted using self.matches_sort_key.
    • Removed support for bash completion since this feature had slow performance. Also it relied on AutoCompleter which has since developed a dependency on cmd2 methods.
    • Removed ability to call commands in pyscript as if they were functions (e.g app.help()) in favor of only supporting one pyscript interface. This simplifies future maintenance.
    • No longer supporting C-style comments. Hash (#) is the only valid comment marker.
    • No longer supporting comments embedded in a command. Only command line input where the first non-whitespace character is a # will be treated as a comment. This means any # character appearing later in the command will be treated as a literal. The same applies to a # in the middle of a multiline command, even if it is the first character on a line.
      • # this is a comment
      • this # is not a comment