cmd2 2.5.9__tar.gz → 2.5.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. {cmd2-2.5.9 → cmd2-2.5.11}/.pre-commit-config.yaml +1 -1
  2. {cmd2-2.5.9 → cmd2-2.5.11}/CHANGELOG.md +10 -0
  3. {cmd2-2.5.9 → cmd2-2.5.11}/PKG-INFO +1 -1
  4. {cmd2-2.5.9 → cmd2-2.5.11}/Pipfile +0 -1
  5. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/ansi.py +6 -6
  6. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/argparse_completer.py +3 -3
  7. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/argparse_custom.py +4 -5
  8. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/cmd2.py +11 -11
  9. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/command_definition.py +3 -3
  10. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/decorators.py +1 -1
  11. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/parsing.py +2 -2
  12. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/table_creator.py +20 -20
  13. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/utils.py +16 -16
  14. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.egg-info/PKG-INFO +1 -1
  15. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overview/installation.md +1 -1
  16. {cmd2-2.5.9 → cmd2-2.5.11}/mkdocs.yml +2 -2
  17. {cmd2-2.5.9 → cmd2-2.5.11}/pyproject.toml +2 -2
  18. {cmd2-2.5.9 → cmd2-2.5.11}/.prettierignore +0 -0
  19. {cmd2-2.5.9 → cmd2-2.5.11}/.prettierrc +0 -0
  20. {cmd2-2.5.9 → cmd2-2.5.11}/.readthedocs.yaml +0 -0
  21. {cmd2-2.5.9 → cmd2-2.5.11}/LICENSE +0 -0
  22. {cmd2-2.5.9 → cmd2-2.5.11}/MANIFEST.in +0 -0
  23. {cmd2-2.5.9 → cmd2-2.5.11}/Makefile +0 -0
  24. {cmd2-2.5.9 → cmd2-2.5.11}/README.md +0 -0
  25. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/__init__.py +0 -0
  26. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/clipboard.py +0 -0
  27. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/constants.py +0 -0
  28. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/exceptions.py +0 -0
  29. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/history.py +0 -0
  30. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/plugin.py +0 -0
  31. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/py.typed +0 -0
  32. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/py_bridge.py +0 -0
  33. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/rl_utils.py +0 -0
  34. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2/transcript.py +0 -0
  35. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.egg-info/SOURCES.txt +0 -0
  36. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.egg-info/dependency_links.txt +0 -0
  37. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.egg-info/requires.txt +0 -0
  38. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.egg-info/top_level.txt +0 -0
  39. {cmd2-2.5.9 → cmd2-2.5.11}/cmd2.png +0 -0
  40. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/ansi.md +0 -0
  41. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/argparse_completer.md +0 -0
  42. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/argparse_custom.md +0 -0
  43. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/cmd.md +0 -0
  44. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/command_definition.md +0 -0
  45. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/constants.md +0 -0
  46. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/decorators.md +0 -0
  47. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/exceptions.md +0 -0
  48. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/history.md +0 -0
  49. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/index.md +0 -0
  50. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/parsing.md +0 -0
  51. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/plugin.md +0 -0
  52. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/py_bridge.md +0 -0
  53. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/table_creator.md +0 -0
  54. {cmd2-2.5.9 → cmd2-2.5.11}/docs/api/utils.md +0 -0
  55. {cmd2-2.5.9 → cmd2-2.5.11}/docs/doc_conventions.md +0 -0
  56. {cmd2-2.5.9 → cmd2-2.5.11}/docs/examples/alternate_event_loops.md +0 -0
  57. {cmd2-2.5.9 → cmd2-2.5.11}/docs/examples/examples.md +0 -0
  58. {cmd2-2.5.9 → cmd2-2.5.11}/docs/examples/first_app.md +0 -0
  59. {cmd2-2.5.9 → cmd2-2.5.11}/docs/examples/index.md +0 -0
  60. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/argument_processing.md +0 -0
  61. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/builtin_commands.md +0 -0
  62. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/clipboard.md +0 -0
  63. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/commands.md +0 -0
  64. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/completion.md +0 -0
  65. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/disable_commands.md +0 -0
  66. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/embedded_python_shells.md +0 -0
  67. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/generating_output.md +0 -0
  68. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/help.md +0 -0
  69. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/history.md +0 -0
  70. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/hooks.md +0 -0
  71. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/index.md +0 -0
  72. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/initialization.md +0 -0
  73. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/misc.md +0 -0
  74. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/modular_commands.md +0 -0
  75. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/multiline_commands.md +0 -0
  76. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/os.md +0 -0
  77. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/packaging.md +0 -0
  78. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/plugins.md +0 -0
  79. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/prompt.md +0 -0
  80. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/redirection.md +0 -0
  81. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/scripting.md +0 -0
  82. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/settings.md +0 -0
  83. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/shortcuts_aliases_macros.md +0 -0
  84. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/startup_commands.md +0 -0
  85. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/table_creation.md +0 -0
  86. {cmd2-2.5.9 → cmd2-2.5.11}/docs/features/transcripts.md +0 -0
  87. {cmd2-2.5.9 → cmd2-2.5.11}/docs/index.md +0 -0
  88. {cmd2-2.5.9 → cmd2-2.5.11}/docs/javascripts/readthedocs.js +0 -0
  89. {cmd2-2.5.9 → cmd2-2.5.11}/docs/migrating/incompatibilities.md +0 -0
  90. {cmd2-2.5.9 → cmd2-2.5.11}/docs/migrating/index.md +0 -0
  91. {cmd2-2.5.9 → cmd2-2.5.11}/docs/migrating/minimum.md +0 -0
  92. {cmd2-2.5.9 → cmd2-2.5.11}/docs/migrating/next_steps.md +0 -0
  93. {cmd2-2.5.9 → cmd2-2.5.11}/docs/migrating/why.md +0 -0
  94. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overrides/main.html +0 -0
  95. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overview/alternatives.md +0 -0
  96. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overview/index.md +0 -0
  97. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overview/integrating.md +0 -0
  98. {cmd2-2.5.9 → cmd2-2.5.11}/docs/overview/resources.md +0 -0
  99. {cmd2-2.5.9 → cmd2-2.5.11}/docs/plugins/external_test.md +0 -0
  100. {cmd2-2.5.9 → cmd2-2.5.11}/docs/plugins/index.md +0 -0
  101. {cmd2-2.5.9 → cmd2-2.5.11}/docs/requirements.txt +0 -0
  102. {cmd2-2.5.9 → cmd2-2.5.11}/docs/stylesheets/readthedocs.css +0 -0
  103. {cmd2-2.5.9 → cmd2-2.5.11}/docs/testing.md +0 -0
  104. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.cmd2rc +0 -0
  105. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/@plugins_snapshot.json +0 -0
  106. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_ast.data.json +0 -0
  107. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_ast.meta.json +0 -0
  108. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_codecs.data.json +0 -0
  109. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_codecs.meta.json +0 -0
  110. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_collections_abc.data.json +0 -0
  111. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_collections_abc.meta.json +0 -0
  112. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_typeshed/__init__.data.json +0 -0
  113. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_typeshed/__init__.meta.json +0 -0
  114. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_typeshed/importlib.data.json +0 -0
  115. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/_typeshed/importlib.meta.json +0 -0
  116. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/abc.data.json +0 -0
  117. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/abc.meta.json +0 -0
  118. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/argparse.data.json +0 -0
  119. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/argparse.meta.json +0 -0
  120. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/builtins.data.json +0 -0
  121. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/builtins.meta.json +0 -0
  122. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/codecs.data.json +0 -0
  123. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/codecs.meta.json +0 -0
  124. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/collections/__init__.data.json +0 -0
  125. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/collections/__init__.meta.json +0 -0
  126. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/collections/abc.data.json +0 -0
  127. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/collections/abc.meta.json +0 -0
  128. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/contextlib.data.json +0 -0
  129. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/contextlib.meta.json +0 -0
  130. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/dataclasses.data.json +0 -0
  131. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/dataclasses.meta.json +0 -0
  132. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/__init__.data.json +0 -0
  133. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/__init__.meta.json +0 -0
  134. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/_policybase.data.json +0 -0
  135. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/_policybase.meta.json +0 -0
  136. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/charset.data.json +0 -0
  137. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/charset.meta.json +0 -0
  138. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/contentmanager.data.json +0 -0
  139. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/contentmanager.meta.json +0 -0
  140. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/errors.data.json +0 -0
  141. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/errors.meta.json +0 -0
  142. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/header.data.json +0 -0
  143. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/header.meta.json +0 -0
  144. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/message.data.json +0 -0
  145. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/message.meta.json +0 -0
  146. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/policy.data.json +0 -0
  147. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/email/policy.meta.json +0 -0
  148. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/enum.data.json +0 -0
  149. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/enum.meta.json +0 -0
  150. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/genericpath.data.json +0 -0
  151. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/genericpath.meta.json +0 -0
  152. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/__init__.data.json +0 -0
  153. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/__init__.meta.json +0 -0
  154. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/_abc.data.json +0 -0
  155. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/_abc.meta.json +0 -0
  156. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/abc.data.json +0 -0
  157. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/abc.meta.json +0 -0
  158. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/machinery.data.json +0 -0
  159. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/machinery.meta.json +0 -0
  160. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/metadata/__init__.data.json +0 -0
  161. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/metadata/__init__.meta.json +0 -0
  162. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/metadata/_meta.data.json +0 -0
  163. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/metadata/_meta.meta.json +0 -0
  164. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/readers.data.json +0 -0
  165. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/readers.meta.json +0 -0
  166. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/resources/__init__.data.json +0 -0
  167. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/resources/__init__.meta.json +0 -0
  168. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/resources/abc.data.json +0 -0
  169. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/importlib/resources/abc.meta.json +0 -0
  170. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/io.data.json +0 -0
  171. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/io.meta.json +0 -0
  172. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/os/__init__.data.json +0 -0
  173. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/os/__init__.meta.json +0 -0
  174. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/os/path.data.json +0 -0
  175. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/os/path.meta.json +0 -0
  176. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/pathlib.data.json +0 -0
  177. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/pathlib.meta.json +0 -0
  178. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/posixpath.data.json +0 -0
  179. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/posixpath.meta.json +0 -0
  180. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/re.data.json +0 -0
  181. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/re.meta.json +0 -0
  182. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/resource.data.json +0 -0
  183. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/resource.meta.json +0 -0
  184. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_compile.data.json +0 -0
  185. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_compile.meta.json +0 -0
  186. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_constants.data.json +0 -0
  187. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_constants.meta.json +0 -0
  188. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_parse.data.json +0 -0
  189. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sre_parse.meta.json +0 -0
  190. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/subprocess.data.json +0 -0
  191. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/subprocess.meta.json +0 -0
  192. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sys/__init__.data.json +0 -0
  193. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sys/__init__.meta.json +0 -0
  194. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sys/_monitoring.data.json +0 -0
  195. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/sys/_monitoring.meta.json +0 -0
  196. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/types.data.json +0 -0
  197. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/types.meta.json +0 -0
  198. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/typing.data.json +0 -0
  199. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/typing.meta.json +0 -0
  200. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/typing_extensions.data.json +0 -0
  201. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/typing_extensions.meta.json +0 -0
  202. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/zipfile/__init__.data.json +0 -0
  203. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/zipfile/__init__.meta.json +0 -0
  204. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/zipfile/_path.data.json +0 -0
  205. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/3.12/zipfile/_path.meta.json +0 -0
  206. {cmd2-2.5.9 → cmd2-2.5.11}/examples/.mypy_cache/CACHEDIR.TAG +0 -0
  207. {cmd2-2.5.9 → cmd2-2.5.11}/examples/README.md +0 -0
  208. {cmd2-2.5.9 → cmd2-2.5.11}/examples/alias_startup.py +0 -0
  209. {cmd2-2.5.9 → cmd2-2.5.11}/examples/arg_decorators.py +0 -0
  210. {cmd2-2.5.9 → cmd2-2.5.11}/examples/arg_print.py +0 -0
  211. {cmd2-2.5.9 → cmd2-2.5.11}/examples/argparse_completion.py +0 -0
  212. {cmd2-2.5.9 → cmd2-2.5.11}/examples/async_printing.py +0 -0
  213. {cmd2-2.5.9 → cmd2-2.5.11}/examples/basic.py +0 -0
  214. {cmd2-2.5.9 → cmd2-2.5.11}/examples/basic_completion.py +0 -0
  215. {cmd2-2.5.9 → cmd2-2.5.11}/examples/cmd2_history.dat +0 -0
  216. {cmd2-2.5.9 → cmd2-2.5.11}/examples/cmd_as_argument.py +0 -0
  217. {cmd2-2.5.9 → cmd2-2.5.11}/examples/colors.py +0 -0
  218. {cmd2-2.5.9 → cmd2-2.5.11}/examples/custom_parser.py +0 -0
  219. {cmd2-2.5.9 → cmd2-2.5.11}/examples/decorator_example.py +0 -0
  220. {cmd2-2.5.9 → cmd2-2.5.11}/examples/default_categories.py +0 -0
  221. {cmd2-2.5.9 → cmd2-2.5.11}/examples/dynamic_commands.py +0 -0
  222. {cmd2-2.5.9 → cmd2-2.5.11}/examples/environment.py +0 -0
  223. {cmd2-2.5.9 → cmd2-2.5.11}/examples/event_loops.py +0 -0
  224. {cmd2-2.5.9 → cmd2-2.5.11}/examples/example.py +0 -0
  225. {cmd2-2.5.9 → cmd2-2.5.11}/examples/exit_code.py +0 -0
  226. {cmd2-2.5.9 → cmd2-2.5.11}/examples/first_app.py +0 -0
  227. {cmd2-2.5.9 → cmd2-2.5.11}/examples/hello_cmd2.py +0 -0
  228. {cmd2-2.5.9 → cmd2-2.5.11}/examples/help_categories.py +0 -0
  229. {cmd2-2.5.9 → cmd2-2.5.11}/examples/hooks.py +0 -0
  230. {cmd2-2.5.9 → cmd2-2.5.11}/examples/initialization.py +0 -0
  231. {cmd2-2.5.9 → cmd2-2.5.11}/examples/migrating.py +0 -0
  232. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands/__init__.py +0 -0
  233. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands/commandset_basic.py +0 -0
  234. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands/commandset_complex.py +0 -0
  235. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands/commandset_custominit.py +0 -0
  236. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands_basic.py +0 -0
  237. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands_dynamic.py +0 -0
  238. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_commands_main.py +0 -0
  239. {cmd2-2.5.9 → cmd2-2.5.11}/examples/modular_subcommands.py +0 -0
  240. {cmd2-2.5.9 → cmd2-2.5.11}/examples/override_parser.py +0 -0
  241. {cmd2-2.5.9 → cmd2-2.5.11}/examples/paged_output.py +0 -0
  242. {cmd2-2.5.9 → cmd2-2.5.11}/examples/persistent_history.py +0 -0
  243. {cmd2-2.5.9 → cmd2-2.5.11}/examples/pirate.py +0 -0
  244. {cmd2-2.5.9 → cmd2-2.5.11}/examples/python_scripting.py +0 -0
  245. {cmd2-2.5.9 → cmd2-2.5.11}/examples/read_input.py +0 -0
  246. {cmd2-2.5.9 → cmd2-2.5.11}/examples/remove_builtin_commands.py +0 -0
  247. {cmd2-2.5.9 → cmd2-2.5.11}/examples/remove_settable.py +0 -0
  248. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/arg_printer.py +0 -0
  249. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/conditional.py +0 -0
  250. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/nested.txt +0 -0
  251. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/quit.txt +0 -0
  252. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/save_help_text.py +0 -0
  253. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/script.py +0 -0
  254. {cmd2-2.5.9 → cmd2-2.5.11}/examples/scripts/script.txt +0 -0
  255. {cmd2-2.5.9 → cmd2-2.5.11}/examples/subcommands.py +0 -0
  256. {cmd2-2.5.9 → cmd2-2.5.11}/examples/table_creation.py +0 -0
  257. {cmd2-2.5.9 → cmd2-2.5.11}/examples/tmux_launch.sh +0 -0
  258. {cmd2-2.5.9 → cmd2-2.5.11}/examples/tmux_split.sh +0 -0
  259. {cmd2-2.5.9 → cmd2-2.5.11}/examples/transcripts/exampleSession.txt +0 -0
  260. {cmd2-2.5.9 → cmd2-2.5.11}/examples/transcripts/pirate.transcript +0 -0
  261. {cmd2-2.5.9 → cmd2-2.5.11}/examples/transcripts/quit.txt +0 -0
  262. {cmd2-2.5.9 → cmd2-2.5.11}/examples/transcripts/transcript_regex.txt +0 -0
  263. {cmd2-2.5.9 → cmd2-2.5.11}/examples/unicode_commands.py +0 -0
  264. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/README.txt +0 -0
  265. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/CHANGELOG.md +0 -0
  266. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/README.md +0 -0
  267. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/build-pyenvs.sh +0 -0
  268. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/cmd2_ext_test/__init__.py +0 -0
  269. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/cmd2_ext_test/cmd2_ext_test.py +0 -0
  270. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/cmd2_ext_test/py.typed +0 -0
  271. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/cmd2_ext_test/pylintrc +0 -0
  272. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/examples/example.py +0 -0
  273. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/noxfile.py +0 -0
  274. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/pyproject.toml +0 -0
  275. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/setup.py +0 -0
  276. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/tasks.py +0 -0
  277. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/tests/__init__.py +0 -0
  278. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/tests/pylintrc +0 -0
  279. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/ext_test/tests/test_ext_test.py +0 -0
  280. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/tasks.py +0 -0
  281. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/CHANGELOG.md +0 -0
  282. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/LICENSE +0 -0
  283. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/README.md +0 -0
  284. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/build-pyenvs.sh +0 -0
  285. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/cmd2_myplugin/__init__.py +0 -0
  286. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/cmd2_myplugin/myplugin.py +0 -0
  287. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/cmd2_myplugin/pylintrc +0 -0
  288. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/examples/example.py +0 -0
  289. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/noxfile.py +0 -0
  290. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/setup.py +0 -0
  291. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/tasks.py +0 -0
  292. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/tests/__init__.py +0 -0
  293. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/tests/pylintrc +0 -0
  294. {cmd2-2.5.9 → cmd2-2.5.11}/plugins/template/tests/test_myplugin.py +0 -0
  295. {cmd2-2.5.9 → cmd2-2.5.11}/readme_files/shout_out.csv +0 -0
  296. {cmd2-2.5.9 → cmd2-2.5.11}/readme_files/shoutout.txt +0 -0
  297. {cmd2-2.5.9 → cmd2-2.5.11}/setup.cfg +0 -0
  298. {cmd2-2.5.9 → cmd2-2.5.11}/tasks.py +0 -0
  299. {cmd2-2.5.9 → cmd2-2.5.11}/tests/.cmd2rc +0 -0
  300. {cmd2-2.5.9 → cmd2-2.5.11}/tests/__init__.py +0 -0
  301. {cmd2-2.5.9 → cmd2-2.5.11}/tests/conftest.py +0 -0
  302. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/echo.py +0 -0
  303. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/environment.py +0 -0
  304. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/help.py +0 -0
  305. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/py_locals.py +0 -0
  306. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/pyscript_dir.py +0 -0
  307. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/raises_exception.py +0 -0
  308. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/recursive.py +0 -0
  309. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/self_in_py.py +0 -0
  310. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/stdout_capture.py +0 -0
  311. {cmd2-2.5.9 → cmd2-2.5.11}/tests/pyscript/stop.py +0 -0
  312. {cmd2-2.5.9 → cmd2-2.5.11}/tests/relative_multiple.txt +0 -0
  313. {cmd2-2.5.9 → cmd2-2.5.11}/tests/script.py +0 -0
  314. {cmd2-2.5.9 → cmd2-2.5.11}/tests/script.txt +0 -0
  315. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/binary.bin +0 -0
  316. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/empty.txt +0 -0
  317. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/help.txt +0 -0
  318. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/nested.txt +0 -0
  319. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/one_down.txt +0 -0
  320. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/postcmds.txt +0 -0
  321. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/precmds.txt +0 -0
  322. {cmd2-2.5.9 → cmd2-2.5.11}/tests/scripts/utf8.txt +0 -0
  323. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_ansi.py +0 -0
  324. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_argparse.py +0 -0
  325. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_argparse_completer.py +0 -0
  326. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_argparse_custom.py +0 -0
  327. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_cmd2.py +0 -0
  328. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_completion.py +0 -0
  329. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_history.py +0 -0
  330. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_parsing.py +0 -0
  331. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_plugin.py +0 -0
  332. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_run_pyscript.py +0 -0
  333. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_table_creator.py +0 -0
  334. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_transcript.py +0 -0
  335. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_utils.py +0 -0
  336. {cmd2-2.5.9 → cmd2-2.5.11}/tests/test_utils_defining_class.py +0 -0
  337. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/bol_eol.txt +0 -0
  338. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/characterclass.txt +0 -0
  339. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/dotstar.txt +0 -0
  340. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/extension_notation.txt +0 -0
  341. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/failure.txt +0 -0
  342. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/from_cmdloop.txt +0 -0
  343. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/multiline_no_regex.txt +0 -0
  344. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/multiline_regex.txt +0 -0
  345. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/no_output.txt +0 -0
  346. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/no_output_last.txt +0 -0
  347. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/regex_set.txt +0 -0
  348. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/singleslash.txt +0 -0
  349. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/slashes_escaped.txt +0 -0
  350. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/slashslash.txt +0 -0
  351. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/spaces.txt +0 -0
  352. {cmd2-2.5.9 → cmd2-2.5.11}/tests/transcripts/word_boundaries.txt +0 -0
  353. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/__init__.py +0 -0
  354. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/test_commandset/__init__.py +0 -0
  355. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/test_commandset/conftest.py +0 -0
  356. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/test_commandset/test_argparse_subcommands.py +0 -0
  357. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/test_commandset/test_categories.py +0 -0
  358. {cmd2-2.5.9 → cmd2-2.5.11}/tests_isolated/test_commandset/test_commandset.py +0 -0
@@ -8,7 +8,7 @@ repos:
8
8
  - id: trailing-whitespace
9
9
 
10
10
  - repo: https://github.com/astral-sh/ruff-pre-commit
11
- rev: "v0.9.2"
11
+ rev: "v0.9.3"
12
12
  hooks:
13
13
  - id: ruff-format
14
14
  args: [--config=pyproject.toml]
@@ -1,3 +1,13 @@
1
+ ## 2.5.11 (January 25, 2025)
2
+
3
+ - Bug Fixes
4
+ - Fixed duplicated parameter tables in API documentation.
5
+
6
+ ## 2.5.10 (January 25, 2025)
7
+
8
+ - Bug Fixes
9
+ - Fixed docstring style for MkDocs API documentation so parameters are displayed properly.
10
+
1
11
  ## 2.5.9 (January 17, 2025)
2
12
 
3
13
  - Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cmd2
3
- Version: 2.5.9
3
+ Version: 2.5.11
4
4
  Summary: cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
5
5
  Author: cmd2 Contributors
6
6
  License: The MIT License (MIT)
@@ -14,7 +14,6 @@ cmd2 = { editable = true, path = "." }
14
14
  cmd2_ext_test = { editable = true, path = "plugins/ext_test" }
15
15
  codecov = "*"
16
16
  gnureadline = { version = "*", sys_platform = "== 'darwin'" }
17
- griffe-typingdoc = "*"
18
17
  invoke = "*"
19
18
  ipython = "*"
20
19
  mypy = "*"
@@ -165,7 +165,7 @@ def clear_screen(clear_type: int = 2) -> str:
165
165
  2 - clear entire screen
166
166
  3 - clear entire screen and delete all lines saved in the scrollback buffer
167
167
  :return: the clear screen string
168
- :raises: ValueError if clear_type is not a valid value
168
+ :raises ValueError: if clear_type is not a valid value
169
169
  """
170
170
  if 0 <= clear_type <= 3:
171
171
  return f"{CSI}{clear_type}J"
@@ -182,7 +182,7 @@ def clear_line(clear_type: int = 2) -> str:
182
182
  1 - clear from cursor to beginning of the line
183
183
  2 - clear entire line
184
184
  :return: the clear line string
185
- :raises: ValueError if clear_type is not a valid value
185
+ :raises ValueError: if clear_type is not a valid value
186
186
  """
187
187
  if 0 <= clear_type <= 2:
188
188
  return f"{CSI}{clear_type}K"
@@ -915,7 +915,7 @@ class RgbFg(FgColor):
915
915
  :param r: integer from 0-255 for the red component of the color
916
916
  :param g: integer from 0-255 for the green component of the color
917
917
  :param b: integer from 0-255 for the blue component of the color
918
- :raises: ValueError if r, g, or b is not in the range 0-255
918
+ :raises ValueError: if r, g, or b is not in the range 0-255
919
919
  """
920
920
  if any(c < 0 or c > 255 for c in [r, g, b]):
921
921
  raise ValueError("RGB values must be integers in the range of 0 to 255")
@@ -944,7 +944,7 @@ class RgbBg(BgColor):
944
944
  :param r: integer from 0-255 for the red component of the color
945
945
  :param g: integer from 0-255 for the green component of the color
946
946
  :param b: integer from 0-255 for the blue component of the color
947
- :raises: ValueError if r, g, or b is not in the range 0-255
947
+ :raises ValueError: if r, g, or b is not in the range 0-255
948
948
  """
949
949
  if any(c < 0 or c > 255 for c in [r, g, b]):
950
950
  raise ValueError("RGB values must be integers in the range of 0 to 255")
@@ -988,8 +988,8 @@ def style(
988
988
  :param overline: apply the overline style if True. Defaults to False.
989
989
  :param strikethrough: apply the strikethrough style if True. Defaults to False.
990
990
  :param underline: apply the underline style if True. Defaults to False.
991
- :raises: TypeError if fg isn't None or a subclass of FgColor
992
- :raises: TypeError if bg isn't None or a subclass of BgColor
991
+ :raises TypeError: if fg isn't None or a subclass of FgColor
992
+ :raises TypeError: if bg isn't None or a subclass of BgColor
993
993
  :return: the stylized string
994
994
  """
995
995
  # List of strings that add style
@@ -226,7 +226,7 @@ class ArgparseCompleter:
226
226
  :param cmd_set: if tab completing a command, the CommandSet the command's function belongs to, if applicable.
227
227
  Defaults to None.
228
228
 
229
- :raises: CompletionError for various types of tab completion errors
229
+ :raises CompletionError: for various types of tab completion errors
230
230
  """
231
231
  if not tokens:
232
232
  return []
@@ -264,7 +264,7 @@ class ArgparseCompleter:
264
264
  Check if an argument belongs to a mutually exclusive group and either mark that group
265
265
  as complete or print an error if the group has already been completed
266
266
  :param arg_action: the action of the argument
267
- :raises: CompletionError if the group is already completed
267
+ :raises CompletionError: if the group is already completed
268
268
  """
269
269
  # Check if this action is in a mutually exclusive group
270
270
  for group in self._parser._mutually_exclusive_groups:
@@ -679,7 +679,7 @@ class ArgparseCompleter:
679
679
  """
680
680
  Tab completion routine for an argparse argument
681
681
  :return: list of completions
682
- :raises: CompletionError if the completer or choices function this calls raises one
682
+ :raises CompletionError: if the completer or choices function this calls raises one
683
683
  """
684
684
  # Check if the arg provides choices to the user
685
685
  arg_choices: Union[List[str], ChoicesCallable]
@@ -300,7 +300,6 @@ class CompletionItem(str):
300
300
  :param value: the value being tab completed
301
301
  :param description: description text to display
302
302
  :param args: args for str __init__
303
- :param kwargs: kwargs for str __init__
304
303
  """
305
304
  super().__init__(*args)
306
305
  self.description = description
@@ -473,7 +472,7 @@ def _action_set_choices_callable(self: argparse.Action, choices_callable: Choice
473
472
 
474
473
  :param self: action being edited
475
474
  :param choices_callable: the ChoicesCallable instance to use
476
- :raises: TypeError if used on incompatible action type
475
+ :raises TypeError: if used on incompatible action type
477
476
  """
478
477
  # Verify consistent use of parameters
479
478
  if self.choices is not None:
@@ -504,7 +503,7 @@ def _action_set_choices_provider(
504
503
 
505
504
  :param self: action being edited
506
505
  :param choices_provider: the choices_provider instance to use
507
- :raises: TypeError if used on incompatible action type
506
+ :raises TypeError: if used on incompatible action type
508
507
  """
509
508
  self._set_choices_callable(ChoicesCallable(is_completer=False, to_call=choices_provider)) # type: ignore[attr-defined]
510
509
 
@@ -525,7 +524,7 @@ def _action_set_completer(
525
524
 
526
525
  :param self: action being edited
527
526
  :param completer: the completer instance to use
528
- :raises: TypeError if used on incompatible action type
527
+ :raises TypeError: if used on incompatible action type
529
528
  """
530
529
  self._set_choices_callable(ChoicesCallable(is_completer=True, to_call=completer)) # type: ignore[attr-defined]
531
530
 
@@ -758,7 +757,7 @@ def _add_argument_wrapper(
758
757
  See the header of this file for more information
759
758
 
760
759
  :return: the created argument action
761
- :raises: ValueError on incorrect parameter usage
760
+ :raises ValueError: on incorrect parameter usage
762
761
  """
763
762
  # Verify consistent use of arguments
764
763
  choices_callables = [choices_provider, completer]
@@ -1134,7 +1134,7 @@ class Cmd(cmd.Cmd):
1134
1134
  Convenience method for removing a settable parameter from ``self.settables``
1135
1135
 
1136
1136
  :param name: name of the settable being removed
1137
- :raises: KeyError if the Settable matches this name
1137
+ :raises KeyError: if the Settable matches this name
1138
1138
  """
1139
1139
  try:
1140
1140
  del self._settables[name]
@@ -2701,8 +2701,8 @@ class Cmd(cmd.Cmd):
2701
2701
  This is used to assist in combining multiline readline history entries and is only
2702
2702
  populated by cmd2. Defaults to None.
2703
2703
  :return: the completed Statement
2704
- :raises: Cmd2ShlexError if a shlex error occurs (e.g. No closing quotation)
2705
- :raises: EmptyStatement when the resulting Statement is blank
2704
+ :raises Cmd2ShlexError: if a shlex error occurs (e.g. No closing quotation)
2705
+ :raises EmptyStatement: when the resulting Statement is blank
2706
2706
  """
2707
2707
 
2708
2708
  def combine_rl_history(statement: Statement) -> None:
@@ -2788,8 +2788,8 @@ class Cmd(cmd.Cmd):
2788
2788
  This is used to assist in combining multiline readline history entries and is only
2789
2789
  populated by cmd2. Defaults to None.
2790
2790
  :return: parsed command line as a Statement
2791
- :raises: Cmd2ShlexError if a shlex error occurs (e.g. No closing quotation)
2792
- :raises: EmptyStatement when the resulting Statement is blank
2791
+ :raises Cmd2ShlexError: if a shlex error occurs (e.g. No closing quotation)
2792
+ :raises EmptyStatement: when the resulting Statement is blank
2793
2793
  """
2794
2794
  used_macros = []
2795
2795
  orig_line = None
@@ -2879,7 +2879,7 @@ class Cmd(cmd.Cmd):
2879
2879
 
2880
2880
  :param statement: a parsed statement from the user
2881
2881
  :return: A bool telling if an error occurred and a utils.RedirectionSavedState object
2882
- :raises: RedirectionError if an error occurs trying to pipe or redirect
2882
+ :raises RedirectionError: if an error occurs trying to pipe or redirect
2883
2883
  """
2884
2884
  import io
2885
2885
  import subprocess
@@ -3135,7 +3135,7 @@ class Cmd(cmd.Cmd):
3135
3135
  :param parser: an argument parser which supports the tab completion of multiple arguments
3136
3136
 
3137
3137
  :return: the line read from stdin with all trailing new lines removed
3138
- :raises: any exceptions raised by input() and stdin.readline()
3138
+ :raises Exception: any exceptions raised by input() and stdin.readline()
3139
3139
  """
3140
3140
  readline_configured = False
3141
3141
  saved_completer: Optional[CompleterFunc] = None
@@ -3260,7 +3260,7 @@ class Cmd(cmd.Cmd):
3260
3260
 
3261
3261
  :param prompt: prompt to display to user
3262
3262
  :return: command line text of 'eof' if an EOFError was caught
3263
- :raises: whatever exceptions are raised by input() except for EOFError
3263
+ :raises Exception: whatever exceptions are raised by input() except for EOFError
3264
3264
  """
3265
3265
  try:
3266
3266
  # Wrap in try since terminal_lock may not be locked
@@ -5080,7 +5080,7 @@ class Cmd(cmd.Cmd):
5080
5080
  Run a text editor and optionally open a file with it
5081
5081
 
5082
5082
  :param file_path: optional path of the file to edit. Defaults to None.
5083
- :raises: EnvironmentError if self.editor is not set
5083
+ :raises EnvironmentError: if self.editor is not set
5084
5084
  """
5085
5085
  if not self.editor:
5086
5086
  raise EnvironmentError("Please use 'set editor' to specify your text editing program of choice.")
@@ -5515,9 +5515,9 @@ class Cmd(cmd.Cmd):
5515
5515
  """
5516
5516
  Report when a disabled command has been run or had help called on it
5517
5517
 
5518
- :param args: not used
5518
+ :param _args: not used
5519
5519
  :param message_to_print: the message reporting that the command is disabled
5520
- :param kwargs: not used
5520
+ :param _kwargs: not used
5521
5521
  """
5522
5522
  # Set apply_style to False so message_to_print's style is not overridden
5523
5523
  self.perror(message_to_print, apply_style=False)
@@ -114,7 +114,7 @@ class CommandSet(object):
114
114
  Override this property if you need to change its return type to a
115
115
  child class of Cmd.
116
116
 
117
- :raises: CommandSetRegistrationError if CommandSet is not registered.
117
+ :raises CommandSetRegistrationError: if CommandSet is not registered.
118
118
  """
119
119
  if self.__cmd_internal is None:
120
120
  raise CommandSetRegistrationError('This CommandSet is not registered')
@@ -127,7 +127,7 @@ class CommandSet(object):
127
127
  requiring access to the Cmd object (e.g. configure commands and their parsers based on CLI state data).
128
128
 
129
129
  :param cmd: The cmd2 main application
130
- :raises: CommandSetRegistrationError if CommandSet is already registered.
130
+ :raises CommandSetRegistrationError: if CommandSet is already registered.
131
131
  """
132
132
  if self.__cmd_internal is None:
133
133
  self.__cmd_internal = cmd
@@ -185,7 +185,7 @@ class CommandSet(object):
185
185
  Convenience method for removing a settable parameter from the CommandSet
186
186
 
187
187
  :param name: name of the settable being removed
188
- :raises: KeyError if the Settable matches this name
188
+ :raises KeyError: if the Settable matches this name
189
189
  """
190
190
  try:
191
191
  del self._settables[name]
@@ -354,7 +354,7 @@ def with_argparser(
354
354
  contiguously somewhere in the list
355
355
  :param kwargs: any keyword arguments being passed to command function
356
356
  :return: return value of command function
357
- :raises: Cmd2ArgparseError if argparse has error parsing command line
357
+ :raises Cmd2ArgparseError: if argparse has error parsing command line
358
358
  """
359
359
  cmd2_app, statement_arg = _parse_positionals(args)
360
360
  statement, parsed_arglist = cmd2_app.statement_parser.get_command_arg_list(
@@ -376,7 +376,7 @@ class StatementParser:
376
376
 
377
377
  :param line: the command line being lexed
378
378
  :return: A list of tokens
379
- :raises: Cmd2ShlexError if a shlex error occurs (e.g. No closing quotation)
379
+ :raises Cmd2ShlexError: if a shlex error occurs (e.g. No closing quotation)
380
380
  """
381
381
 
382
382
  # expand shortcuts and aliases
@@ -404,7 +404,7 @@ class StatementParser:
404
404
 
405
405
  :param line: the command line being parsed
406
406
  :return: a new [cmd2.parsing.Statement][] object
407
- :raises: Cmd2ShlexError if a shlex error occurs (e.g. No closing quotation)
407
+ :raises Cmd2ShlexError: if a shlex error occurs (e.g. No closing quotation)
408
408
  """
409
409
 
410
410
  # handle the special case/hardcoded terminator of a blank line
@@ -92,8 +92,8 @@ class Column:
92
92
  (defaults to True)
93
93
  :param max_data_lines: maximum lines allowed in a data cell. If line count exceeds this, then the final
94
94
  line displayed will be truncated with an ellipsis. (defaults to INFINITY)
95
- :raises: ValueError if width is less than 1
96
- :raises: ValueError if max_data_lines is less than 1
95
+ :raises ValueError: if width is less than 1
96
+ :raises ValueError: if max_data_lines is less than 1
97
97
  """
98
98
  self.header = header
99
99
 
@@ -138,7 +138,7 @@ class TableCreator:
138
138
  :param cols: column definitions for this table
139
139
  :param tab_width: all tabs will be replaced with this many spaces. If a row's fill_char is a tab,
140
140
  then it will be converted to one space.
141
- :raises: ValueError if tab_width is less than 1
141
+ :raises ValueError: if tab_width is less than 1
142
142
  """
143
143
  if tab_width < 1:
144
144
  raise ValueError("Tab width cannot be less than 1")
@@ -443,9 +443,9 @@ class TableCreator:
443
443
  :param post_line: string to print after each line of a row. This can be used for padding after
444
444
  the last cell's text and a right row border. (Defaults to blank)
445
445
  :return: row string
446
- :raises: ValueError if row_data isn't the same length as self.cols
447
- :raises: TypeError if fill_char is more than one character (not including ANSI style sequences)
448
- :raises: ValueError if fill_char, pre_line, inter_cell, or post_line contains an unprintable
446
+ :raises ValueError: if row_data isn't the same length as self.cols
447
+ :raises TypeError: if fill_char is more than one character (not including ANSI style sequences)
448
+ :raises ValueError: if fill_char, pre_line, inter_cell, or post_line contains an unprintable
449
449
  character like a newline
450
450
  """
451
451
 
@@ -570,10 +570,10 @@ class SimpleTable(TableCreator):
570
570
  want a divider row. Defaults to dash. (Cannot be a line breaking character)
571
571
  :param header_bg: optional background color for header cells (defaults to None)
572
572
  :param data_bg: optional background color for data cells (defaults to None)
573
- :raises: ValueError if tab_width is less than 1
574
- :raises: ValueError if column_spacing is less than 0
575
- :raises: TypeError if divider_char is longer than one character
576
- :raises: ValueError if divider_char is an unprintable character
573
+ :raises ValueError: if tab_width is less than 1
574
+ :raises ValueError: if column_spacing is less than 0
575
+ :raises TypeError: if divider_char is longer than one character
576
+ :raises ValueError: if divider_char is an unprintable character
577
577
  """
578
578
  super().__init__(cols, tab_width=tab_width)
579
579
 
@@ -626,8 +626,8 @@ class SimpleTable(TableCreator):
626
626
  :param num_cols: how many columns the table will have
627
627
  :param column_spacing: how many spaces to place between columns. Defaults to 2.
628
628
  :return: base width
629
- :raises: ValueError if column_spacing is less than 0
630
- :raises: ValueError if num_cols is less than 1
629
+ :raises ValueError: if column_spacing is less than 0
630
+ :raises ValueError: if num_cols is less than 1
631
631
  """
632
632
  if num_cols < 1:
633
633
  raise ValueError("Column count cannot be less than 1")
@@ -685,7 +685,7 @@ class SimpleTable(TableCreator):
685
685
 
686
686
  :param row_data: data with an entry for each column in the row
687
687
  :return: data row string
688
- :raises: ValueError if row_data isn't the same length as self.cols
688
+ :raises ValueError: if row_data isn't the same length as self.cols
689
689
  """
690
690
  if len(row_data) != len(self.cols):
691
691
  raise ValueError("Length of row_data must match length of cols")
@@ -712,7 +712,7 @@ class SimpleTable(TableCreator):
712
712
  :param include_header: If True, then a header will be included at top of table. (Defaults to True)
713
713
  :param row_spacing: A number 0 or greater specifying how many blank lines to place between
714
714
  each row (Defaults to 1)
715
- :raises: ValueError if row_spacing is less than 0
715
+ :raises ValueError: if row_spacing is less than 0
716
716
  """
717
717
  if row_spacing < 0:
718
718
  raise ValueError("Row spacing cannot be less than 0")
@@ -771,8 +771,8 @@ class BorderedTable(TableCreator):
771
771
  :param border_bg: optional background color for borders (defaults to None)
772
772
  :param header_bg: optional background color for header cells (defaults to None)
773
773
  :param data_bg: optional background color for data cells (defaults to None)
774
- :raises: ValueError if tab_width is less than 1
775
- :raises: ValueError if padding is less than 0
774
+ :raises ValueError: if tab_width is less than 1
775
+ :raises ValueError: if padding is less than 0
776
776
  """
777
777
  super().__init__(cols, tab_width=tab_width)
778
778
  self.empty_data = [EMPTY] * len(self.cols)
@@ -827,7 +827,7 @@ class BorderedTable(TableCreator):
827
827
  :param column_borders: if True, borders between columns will be included in the calculation (Defaults to True)
828
828
  :param padding: number of spaces between text and left/right borders of cell
829
829
  :return: base width
830
- :raises: ValueError if num_cols is less than 1
830
+ :raises ValueError: if num_cols is less than 1
831
831
  """
832
832
  if num_cols < 1:
833
833
  raise ValueError("Column count cannot be less than 1")
@@ -976,7 +976,7 @@ class BorderedTable(TableCreator):
976
976
 
977
977
  :param row_data: data with an entry for each column in the row
978
978
  :return: data row string
979
- :raises: ValueError if row_data isn't the same length as self.cols
979
+ :raises ValueError: if row_data isn't the same length as self.cols
980
980
  """
981
981
  if len(row_data) != len(self.cols):
982
982
  raise ValueError("Length of row_data must match length of cols")
@@ -1077,8 +1077,8 @@ class AlternatingTable(BorderedTable):
1077
1077
  :param header_bg: optional background color for header cells (defaults to None)
1078
1078
  :param odd_bg: optional background color for odd numbered data rows (defaults to None)
1079
1079
  :param even_bg: optional background color for even numbered data rows (defaults to StdBg.DARK_GRAY)
1080
- :raises: ValueError if tab_width is less than 1
1081
- :raises: ValueError if padding is less than 0
1080
+ :raises ValueError: if tab_width is less than 1
1081
+ :raises ValueError: if padding is less than 0
1082
1082
  """
1083
1083
  super().__init__(
1084
1084
  cols,
@@ -101,7 +101,7 @@ def to_bool(val: Any) -> bool:
101
101
 
102
102
  :param val: value being converted
103
103
  :return: boolean value expressed in the passed in value
104
- :raises: ValueError if the string does not contain a value corresponding to a boolean value
104
+ :raises ValueError: if the string does not contain a value corresponding to a boolean value
105
105
  """
106
106
  if isinstance(val, str):
107
107
  if val.capitalize() == str(True):
@@ -209,7 +209,7 @@ def is_text_file(file_path: str) -> bool:
209
209
 
210
210
  :param file_path: path to the file being checked
211
211
  :return: True if the file is a non-empty text file, otherwise False
212
- :raises OSError if file can't be read
212
+ :raises OSError: if file can't be read
213
213
  """
214
214
  import codecs
215
215
 
@@ -858,9 +858,9 @@ def align_text(
858
858
  :param truncate: if True, then each line will be shortened to fit within the display width. The truncated
859
859
  portions are replaced by a '…' character. Defaults to False.
860
860
  :return: aligned text
861
- :raises: TypeError if fill_char is more than one character (not including ANSI style sequences)
862
- :raises: ValueError if text or fill_char contains an unprintable character
863
- :raises: ValueError if width is less than 1
861
+ :raises TypeError: if fill_char is more than one character (not including ANSI style sequences)
862
+ :raises ValueError: if text or fill_char contains an unprintable character
863
+ :raises ValueError: if width is less than 1
864
864
  """
865
865
  import io
866
866
  import shutil
@@ -982,9 +982,9 @@ def align_left(
982
982
  :param truncate: if True, then text will be shortened to fit within the display width. The truncated portion is
983
983
  replaced by a '…' character. Defaults to False.
984
984
  :return: left-aligned text
985
- :raises: TypeError if fill_char is more than one character (not including ANSI style sequences)
986
- :raises: ValueError if text or fill_char contains an unprintable character
987
- :raises: ValueError if width is less than 1
985
+ :raises TypeError: if fill_char is more than one character (not including ANSI style sequences)
986
+ :raises ValueError: if text or fill_char contains an unprintable character
987
+ :raises ValueError: if width is less than 1
988
988
  """
989
989
  return align_text(text, TextAlignment.LEFT, fill_char=fill_char, width=width, tab_width=tab_width, truncate=truncate)
990
990
 
@@ -1005,9 +1005,9 @@ def align_center(
1005
1005
  :param truncate: if True, then text will be shortened to fit within the display width. The truncated portion is
1006
1006
  replaced by a '…' character. Defaults to False.
1007
1007
  :return: centered text
1008
- :raises: TypeError if fill_char is more than one character (not including ANSI style sequences)
1009
- :raises: ValueError if text or fill_char contains an unprintable character
1010
- :raises: ValueError if width is less than 1
1008
+ :raises TypeError: if fill_char is more than one character (not including ANSI style sequences)
1009
+ :raises ValueError: if text or fill_char contains an unprintable character
1010
+ :raises ValueError: if width is less than 1
1011
1011
  """
1012
1012
  return align_text(text, TextAlignment.CENTER, fill_char=fill_char, width=width, tab_width=tab_width, truncate=truncate)
1013
1013
 
@@ -1028,9 +1028,9 @@ def align_right(
1028
1028
  :param truncate: if True, then text will be shortened to fit within the display width. The truncated portion is
1029
1029
  replaced by a '…' character. Defaults to False.
1030
1030
  :return: right-aligned text
1031
- :raises: TypeError if fill_char is more than one character (not including ANSI style sequences)
1032
- :raises: ValueError if text or fill_char contains an unprintable character
1033
- :raises: ValueError if width is less than 1
1031
+ :raises TypeError: if fill_char is more than one character (not including ANSI style sequences)
1032
+ :raises ValueError: if text or fill_char contains an unprintable character
1033
+ :raises ValueError: if width is less than 1
1034
1034
  """
1035
1035
  return align_text(text, TextAlignment.RIGHT, fill_char=fill_char, width=width, tab_width=tab_width, truncate=truncate)
1036
1036
 
@@ -1053,8 +1053,8 @@ def truncate_line(line: str, max_width: int, *, tab_width: int = 4) -> str:
1053
1053
  :param max_width: the maximum display width the resulting string is allowed to have
1054
1054
  :param tab_width: any tabs in the text will be replaced with this many spaces
1055
1055
  :return: line that has a display width less than or equal to width
1056
- :raises: ValueError if text contains an unprintable character like a newline
1057
- :raises: ValueError if max_width is less than 1
1056
+ :raises ValueError: if text contains an unprintable character like a newline
1057
+ :raises ValueError: if max_width is less than 1
1058
1058
  """
1059
1059
  import io
1060
1060
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cmd2
3
- Version: 2.5.9
3
+ Version: 2.5.11
4
4
  Summary: cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
5
5
  Author: cmd2 Contributors
6
6
  License: The MIT License (MIT)
@@ -60,7 +60,7 @@ This will also install the required 3rd-party dependencies.
60
60
 
61
61
  !!! warning
62
62
 
63
- Versions of `cmd2` before 0.8.9 should be considered to be of unstable "beta" quality and should not be relied upon for production use. If you cannot get a version >= 0.8.9 from your OS repository, then we recommend installing from either pip or GitHub - see [Pip Install](installation.md#pip_install) or [Install from GitHub](installation.md#github).
63
+ Versions of `cmd2` before 1.0.0 should be considered to be of unstable "beta" quality and should not be relied upon for production use. If you cannot get a version >= 0.8.9 from your OS repository, then we recommend installing from either pip or GitHub - see [Pip Install](installation.md#pip_install) or [Install from GitHub](installation.md#github).
64
64
 
65
65
  ## Upgrading cmd2
66
66
 
@@ -57,6 +57,7 @@ theme:
57
57
  # Plugins
58
58
  plugins:
59
59
  - search
60
+ - git-revision-date-localized
60
61
  - include-markdown:
61
62
  preserve_includer_indent: true
62
63
  dedent: true
@@ -71,8 +72,6 @@ plugins:
71
72
  handlers:
72
73
  python:
73
74
  options:
74
- extensions:
75
- - griffe_typingdoc
76
75
  show_root_heading: true
77
76
  show_if_no_docstring: true
78
77
  preload_modules:
@@ -85,6 +84,7 @@ plugins:
85
84
  filters:
86
85
  - "!^_"
87
86
  merge_init_into_class: true
87
+ docstring_style: sphinx
88
88
  docstring_section_style: spacy
89
89
  signature_crossrefs: true
90
90
  show_symbol_type_heading: true
@@ -39,8 +39,8 @@ build = ["build>=1.2.1", "setuptools>=64", "setuptools-scm>=8"]
39
39
  dev = [
40
40
  "black>=24",
41
41
  "codecov>=2",
42
- "griffe-typingdoc>=0.2",
43
42
  "invoke>=2",
43
+ "mkdocs-git-revision-date-localized-plugin>=1.3",
44
44
  "mkdocs-include-markdown-plugin>=6",
45
45
  "mkdocs-macros-plugin>=1",
46
46
  "mkdocs-material>=8",
@@ -55,7 +55,7 @@ dev = [
55
55
  ]
56
56
  docs = [
57
57
  "black>=24",
58
- "griffe-typingdoc>=0.2",
58
+ "mkdocs-git-revision-date-localized-plugin>=1.3",
59
59
  "mkdocs-include-markdown-plugin>=6",
60
60
  "mkdocs-macros-plugin>=1",
61
61
  "mkdocs-material>=8",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes