一个简单的容器加固,我喜欢它加固

condent的Python项目详细描述


condent是按照我喜欢的方式重新定义容器的快捷方法。

它主要(目前完全)用于python,但由于类似的对象文本 语法-它应该可以为其他语言工作,而且很容易 如果没有的话,可以和他们一起工作。我想结束了 我将添加对我半常规使用的其他语言的实际支持 basis(主要是ruby和js)。

它可以解决一些基本问题,如:
  • 间距
  • 将适合一行的东西移到一行上
  • 将不在多行上的内容移动
  • LI>多行容器的压痕< /LI>

它不会(不应该)做的是更改代码的语义。如果是的话, 请开一张票。

安装

使用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一起使用

<>这个主要原因是使用^ {tT5}$及其^ {tT6}$选项。

为此,请放置类似^{tt7}的内容$ 在.vimrcftplugin文件中。然后可以与^{tt10}一起使用$ (详见:help =

在过去的几年中,我尝试了很多vim缩进脚本,但从未 找到一个有效的。也许它存在,它是我的(设置)故障, 但与其弄清楚是不是这样,倒是很容易 一个下午在一起。

你也可能对我的ftplugin文件感兴趣Python 还有一些我要做的,比如在 正在插入结束字符。

样式

应该符合pep8,只有一个例外。

我喜欢我的dict键和值围绕:对称。取决于 解释这可能违反了pep8建议避免 额外的空白,但我一直在做,我喜欢它的样子, 更不用说我已经看到很多这样做的代码了。到 举例来说,这将产生{"foo" : "bar"},而不是产生 {"foo": "bar"}。如果你真的不喜欢,你可以用 命令行标志--no-symmetric-colon。还有很多其他的 可以使用命令行标志切换的主观样式选择。

添加功能

像许多类似的事情一样,这可能是一个持续的在制品。像我一样 说,我每天都用这样的东西,所以当我发现bug或想要的特性时,我会 可能是修复或添加它们。

我有一些具体的想法,可能会加上 在接下来的几天里。如果你还有其他人,请随意拉一下 请求。即使我不喜欢或使用你想要的风格,如果它足够理智 ;)无论如何,它可能被合并为一个选项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
运行ClassSpy java时发生反射错误   java Android ContextWrapper fileList()看不到我的文件   java使用JAXWS构建大型MTOM/XOP消息   eclipse如何使用ACM库(控制台程序)编写Java程序?   java m2eclipse插件搜索在配置为Nexus时不会给出结果   java Scanner只识别文本文件中的某些行,而不识别其他行   java如何从smartwatch启动活动或服务   java检查数组是否至少有两个具有特定值的元素   JAVA网URL编码器/解码器替代方案   Java中通过引用传递对象   spring如何在使用JavaJSON修补程序进行修补时禁止更新字段   使用java将海量数据存储到mysql的最佳方法   java字符串作为不可变对象   java我无法访问tomcat服务器(localhost),甚至无法访问mysql   java While循环条件未给出预期结果   java如何启动传递图像uri的新活动   Java中类定义在方法中的使用   Java程序在Ubuntu中运行我的另一个程序