跳转到主要内容

为按我喜欢的方式重新缩进的容器进行简单缩进

项目描述

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 (10.5 kB 查看哈希值)

上传时间 源代码

condent-0.3.tar.gz (7.4 kB 查看哈希值)

上传时间 源代码

由以下组织支持