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之前的版本 使用上面的别名,因为这些别名可能会更新文件 在你的源树中(它不应该破坏任何东西,但不是什么 您所期望的)。