为按我喜欢的方式重新缩进的容器进行简单缩进
项目描述
condent 是一个快速修改以按我喜欢的方式重新缩进容器的黑客工具。
它主要(目前完全是)针对Python,但由于类似的对象字面量语法,它可能偶然适用于其他语言,并且很容易推广以真正支持它们。我怀疑随着时间的推移,我会添加对我在半定期使用(主要是Ruby和JS)的其他语言的实际支持。
- 它可以修复基本的东西,比如
空格
将适合单行的某物移动到一行上
将不适合的某物移动到多行上
修复多行容器的缩进
它不会(不应该)改变你代码的语义。如果它确实改变了,请打开一个工单。
安装
使用 pip install condent 安装,并将安装 condent 可执行文件。
用法
示例调用和输出是
$ echo 'd = {"foo":"bar","baz":"quux"}' | condent d = {"foo" : "bar", "baz" : "quux"} $ condent <<EOF the_dict = { foo:bar, baz:quux, spam:eggs}' EOF the_dict = {foo : bar, baz : quux, spam : eggs} $ condent <<EOF an_already_indented_dict_that_does_not_fit_on_one_line = { foo:bar, baz:quux, spam:eggs} EOF an_already_indented_dict_that_does_not_fit_on_one_line = { foo : bar, baz : quux, spam : eggs, }
您可以使用 condent -h 查看完整的用法信息。
与Vim一起使用
这个存在的主要原因是与 vim 及其 equalprg 选项一起使用。
要这样做,请在您的 .vimrc 文件或 ftplugin 文件中添加类似 autocmd FileType python set equalprg=condent 的内容。然后您可以使用 = 来使用它(有关详细信息,请参阅 :help =)。
在过去几年中,我尝试过许多 vim 缩进脚本,但从未找到一种真正工作得好的脚本。也许它确实存在,是我的(设置)问题,但与其弄清楚这一点,不如花一个下午的时间快速拼凑起来。
您可能还对我为 Python 编写的 ftplugin 文件感兴趣,其中包含我使用此脚本的更多内容,例如在插入结束字符时自动缩进。
风格
它应该符合 pep8,但有例外。
我喜欢我的 dict 键和值在 : 两侧对称。根据解释,这可能会违反 pep8 建议避免多余空格的建议,但我一直这样做,并且我喜欢它的外观。此外,我还看到很多代码也是这样做的。为了说明,这将产生 {"foo" : "bar"} 而不是产生 {"foo": "bar"}。如果您真的不喜欢这样,可以使用命令行标志 --no-symmetric-colon 来禁用它。还有许多其他可以切换的带有命令行标志的主观风格选择。
添加功能
像许多类似的东西一样,这很可能是一个持续的工作。就像我说的,我每天都使用这些东西,所以我发现错误或需要的功能时,我可能会修复或添加它们。
我有一些具体的事情想在接下来的几天内添加。如果您有其他想法,请随时发送拉取请求。即使我不喜欢或使用您想要的风格,如果它足够合理,它可能仍然会被合并为一个选项。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪一个,请了解更多关于 安装软件包 的信息。
源代码分发
condent-0.3.zip 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 76f8b53701fa05a17ce2795e43e00599bd20b215295ddcdd0087c8f4f9321c46 |
|
MD5 | 73eaa0a54dbc0371f6cffa0383ecf9c6 |
|
BLAKE2b-256 | e0cea6ac8e63d637e8ea7c4e8fca82cdfd679444e7776355d44934c5e6895c7b |
condent-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e9c6e70d615c593b23bde36eeed48185934e296a5e323fe5ccfc39838173e35 |
|
MD5 | 45b56c977ffc56220b60c5dfa0e818ad |
|
BLAKE2b-256 | 5c5f91011824312890663f91426e928b2c1fc08edd619b6401acf1775e266868 |