splitwise / super_diff

A more helpful way to view differences between complex data structures in RSpec.
https://splitwise.github.io/super_diff/
MIT License
991 stars 54 forks source link

Hide color escape chars in non-TTY #164

Open iSarCasm opened 1 year ago

iSarCasm commented 1 year ago

Currently, out-of-the-box super_diff will continue using colors in non-TTY environments such as CircleCI, etc.

To avoid this, one can simply modify spec_helper.rb like this:

unless config.color
    SuperDiff.configure do |config|
      config.actual_color = :white
      config.expected_color = :white
      config.border_color = :white
      config.header_color = :white
    end
end

Ideally, this gem should automatically detect this case.

I can try and open a PR once confirmed

mcmire commented 1 year ago

Thanks for reporting this. We are doing some detection already here. I suppose for some reason I opted to enable colors on CI. We could remove that part of the logic though. Note that not all colors are getting disabled, so there is more we have to do to get rid of color completely — that is logged in #82 — but removing ENV["CI"] would be a start.

jas14 commented 1 month ago

Hey @iSarCasm , now that #82 is fixed and #261 is in v0.13.0, does this work better for you? We still enable colors by default if ENV["CI"] is set, but we'll use RSpec's color config otherwise (if you're using RSpec).

If none of that works for you, you can use a slightly shorter config until we figure out something better:

SuperDiff.configuration.color_enabled = false