Oitnb解决了布莱克的一些问题

oitnb的Python项目详细描述


详细信息

代码库

oitnb 代码直接从 black 派生,并使用许多文件 如:

它可以毫无问题地运行大多数black测试,但是 少数错误,这些错误都与硬编码有关 在文件内容和文件命名中均引用 黑色

附加选项、默认值和配置

额外选项: --double --meld --多行展开

oitnb 如果要使用 像黑色这样的报价使用了选项 --double 选项。

--meld 工作方式类似于 --diff , 但为了对原始文件和 重新格式化的版本。 meld 允许您直接编辑左侧 手侧(原稿)以便您可以在此时决定插入一些 fmt:off / fmt:on 行周围的注释,或放弃 完全使用格式化程序。

指定 --多行展开 在重新格式化的行上运行一个丑陋的后处理器 撤消 重写:

x = yaml.load("""
a: 1
b: 2
""")

入:

x = yaml.load(
    """
a: 1
b: 2
"""
)

程序以空的config dict开始,并尝试读取 使用用户配置目录中的 oitnb.pon 配置 appdirs.用户配置目录 。这符合Linux上的XDG标准 (即,如果没有环境变量设置为 更改默认值。该文件应包含有效的python dict 定义(使用 {} dict() ,并由此定义值 对于 默认值 (使用安全评估)更新配置指令:

dict(
   default=dict(line_length=666, double=True),
)

之后,在树上搜索目录层次结构,直到 .git 被找到,或 .hg 或带有模块的 .py 文件 包数据的级别定义。那应该是一个口述 在这里,键 oitnb 的值被用来更新 配置:

_package_data = dict(
    oitnb=dict(line_length=88),
)

oitnb 's \uu init\uuuu.py 有更多使用的信息(不带 import -ing!)和 通过其他工具以编程方式更新:

_package_data = dict(
    full_package_name='oitnb',
    version_info=(0, 1, 1),
    __version__='0.1.1',
    author='Anthon van der Neut',
    author_email='a.van.der.neut@ruamel.eu',
    description="oitnb works around some of black's issues",
    entry_points='oitnb=oitnb:main',
    license='MIT',
    since=2018,
    status=alpha,
    package_data={"_oitnb_lib2to3": ["*.txt"]},
    install_requires=['click>=6.5', 'attrs>=17.4.0', 'appdirs', 'toml>=0.9.4'],
    test_suite="_test.test_oitnb",
    tox=dict(
        env='36',
    ),
    oitnb=dict(line_length=88),
)


version_info = _package_data['version_info']
__version__ = _package_data['__version__']

除此之外,任何命令行选项都用于否决配置,并且 然后初始化程序。

选项中的破折号( - )在内部替换为下划线( \/cite>), 您可以使用该表单作为 dict(操作=true) 中的键。带着破折号的你 需要使用 {"op tion":true}

当前没有计算机范围的默认设置,例如 /etc/xdg/oitnb (是否有人共享他们的开发机器 几天?)

根据修订版查找更改

如果有具有修订历史的现有项目,并应用 oitnb 发送到您的源,然后在pre-and和 后期版本将变得杂乱无章。

如果您的 oitnb 应用没有内部错误,并且 不必经常使用 下面使用 meld

获得更有用的视觉差异

安装 oitnb 包括一个最小的实用程序 omeld , 将其作为外部diff工具添加到Mercurials .hgrc 文件:

[extensions]
hgext.extdiff =

[extdiff]
cmd.omeld =

现在您可以执行 hg omeld -r-4 -r-1 hg omeld -r-4 (假设第4版是在应用oitnb之前)和 omeld 将在两个临时创建的源上运行 oitnbt 在把这些树交给meld之前。那意味着 例如,任何有关引用或删除 多余的u从u'弦,重写,等都将是相同的。 修正案的侧面。从而在 出现的差异。

如果omeld工具获取的文件或目录作为参数 不是 /tmp /var/tmp 下,它不会在上面运行 oitnb 文件/目录。如果将源代码树保持在 /var/tmp 下,则 运气不好:您的python将被格式化。

以上方法: 检查两个(旧)修订树,代码格式 它们使用"oitnb"并运行diff ,是通用的。 meld mercurial 只是 我使用的工具可以方便地为其提供工作设置。

对Git来说,以我的经验来说,要找到它有点困难 理解者d多个外部扩散工具,您可以做到:

alias gomeld='git difftool --extcmd=omeld -y'

使用这个别名。

git 似乎比 hg 更优化,如果当前签出 文件的版本与所要求的一个版本相同,即 不会生成临时版本(即使您必须比较 多个文件)。因此,不应使用0.1.4之前的版本 使用上面的别名,因为这些别名可能会更新文件 在你的源树中(它不应该破坏任何东西,但不是什么 您所期望的)。

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

推荐PyPI第三方库


热门话题
java Spinner选定值未上载到firebase数据库   java如何通过bukkit中的配置添加消息?   java在SharedReference中保存列表的泛型类型   javascript Java小程序未定义   swt在Java中构建控制台应用程序   java OAuth同意屏幕没有突然显示,没有错误?   java webview选择文件安卓不工作   java Spring boot JPA如何从同一连接添加多个数据库?   java JDBC DB2驱动程序计时器线程处于阻塞状态   java我在vscode中运行flatter时看到一个错误在phone中运行应用程序somone能否帮助我plz   Java:生成JSON:如何避免生成不完整的JSON   java Date compareTo()方法始终返回1   当使用Junit runner运行测试时,java Spring自动连线失败   java Android/Sockets如何将信息从主UI线程发送到socket线程?   java Android内存声明全局变量   java如何在JBoss中拥有多个具有相同JNDI名称的数据源?   python在Java中嵌入CPython时,为什么会挂起?   java如何提供深度模拟对象?   java“find:smallint,expected:integer”Hibernate对informix数据库的验证在短时间内失败