解释器框架
项目描述
概述
kmdd 允许构建具有强大自动补全功能的命令行驱动的shell。
kmdd.Kmd类从cmd.Cmd继承,并在以下方面进行了扩展
readline补全的设置和清理分别移动到preloop和postloop。子类必须确保调用其父类的实现。
如果命令名称不完整,则自动扩展为唯一名称。
可以通过扩展aliases字典来定义命令别名。别名名称适用于所有do_、complete_和help_属性。
以“#”开头的行被视为注释。将调用新的comment方法,并传入行作为参数。
现在可以配置shell_escape_chars。默认为“!”。
如果设置了history_file,kmdd.Kmd将在preloop和postloop中加载和保存历史记录。
新的run方法封装了Kmd的完整执行周期。
包内容
- kmdd.Kmd
实现基于cmd.Cmd的命令外壳的机制。
- kmdd.completions
实现了一套现成的完成功能。
- kmg.quoting
定义了编写完成功能的常量和函数。
文档
有关更多详细信息,请参阅API文档。
开发
安装
安装需要Python 2.7或更高版本。
注意:kmd使用了包含C扩展的rl库。查看其安装说明,并确保所有依赖项都已安装。
要安装kmd包,请输入
pip install kmd
变更日志
2.4 - 2022-11-17
升级到rl 3.1。[stefan]
更新readline 8.2的文件名完成。[stefan]
在完成和帮助中隐藏do_EOF。[stefan]
在双引号之间引用换行符。[stefan]
改进文档和示例。[stefan]
在tox.ini中替换已弃用的python setup.py test。[stefan]
从setup.py中删除已弃用的test_suite。[stefan]
从install_requires中删除setuptools。[stefan]
添加一个pyproject.toml文件。[stefan]
在sdist中包含测试,但在wheel中不包含。[stefan]
2.3 - 2019-03-20
当遇到EOF时清除lastcmd以避免无限循环。参见Python 问题13500。[stefan]
取消显式GPL,因为PSF许可证本身就是GPL兼容的。[stefan]
使用新钩子更新文件名完成。[stefan]
停止在完成中隐藏引用模块,并将其作为kmd.quoting提供。[stefan]
停止使用rl.completer.reset,因为它会覆盖~/.inputrc。[stefan]
停止使用2to3。[stefan]
要求rl >= 3.0。[stefan]
2.2 - 2012-05-10
当使用参数调用Kmd.run时,不尊重字符串和文件名引用。[stefan]
切换到更令人愉悦的Sphinx主题。[stefan]
要求rl >= 2.2。[stefan]
2.1.2 - 2012-04-14
更新文档更多。[stefan]
2.1.1 - 2012-03-29
更新文档。[stefan]
2.1 - 2011-11-05
添加Kmd.input方法作为子类的扩展点。[stefan]
确保在主机文件缺失时主机名完成仍然有效。[stefan]
要求rl >= 2.0.1。[stefan]
2.0 - 2011-10-06
添加Kmd.aliases字典来定义命令别名。[stefan]
重构Kmd.do_help以方便自定义。[stefan]
确保错误信息输出到stderr。[stefan]
切换到基于Sphinx的精美文档。[stefan]
要求rl >= 2.0。[stefan]
1.0 - 2011-07-14
初始版本。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。