在
Windows 7上的
Git Bash中,我偶尔会发生一些事情,导致运行黄瓜情景或rspec规格时颜色编码失败.
偶尔,它是随机固定的(随机的我不知道我做了什么,导致它被修复).
所以当我跑:
$bundle exec cucumber features
要么
$bundle exec rspec spec
而不是看到这个颜色:
...... 3 scenarios (3 passed) 6 steps (6 passed)
我看到像:
[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m 3 scenarios ([32m3 passed[0m) 6 steps ([32m6 passed[0m)
我知道这些是颜色的代码表示,但我不知道为什么它停止显示颜色,也不知道如何解决它.我失踪了什么
git config的输出–list:
core.symlinks=false core.autocrlf=true color.diff=auto pack.packsizelimit=2g help.format=html http.sslcainfo=/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe user.name=John Uhri user.email= ***** color.branch=auto color.diff=auto color.interactive=auto color.status=auto core.repositoryformatversion=0 core.filemode=false core.bare=false core.logallrefupdates=true core.symlinks=false core.ignorecase=true core.hidedotfiles=dotGitOnly remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master
在windows上,git Bash使用内置的终端,该终端会滚动到cmd提示符下.如果安装cygwin,您可以使用mintty终端仿真器(在开始菜单上安装为“Cygwin终端”).
原文链接:https://www.f2er.com/windows/363849.html为什么这很重要?因为windows cmd提示术语不解释ANSI转义序列.它使用M $颜色控制方案.如果您正在使用的程序不会在Windows上切换到此方案,或者通过过滤器,那么您将看到原始的转义字符. Cygwin的软件控制台完全支持这些代码.
如果颜色通常工作,这是黄瓜/ rspec从移植中的错误.有人在打印颜色或某物时错过了窗口的检查.直到这个修复,一个工作是以下python脚本:
#!/usr/bin/env python # Filter ANSI escapes from stdin to stdout from __future__ import print_function from colorama import init import sys init() for line in sys.stdin.readlines(): print(line)
$bundle exec rspec spec | colorFilter.py