From: "st0012 (Stan Lo) via ruby-core" Date: 2023-05-24T15:19:02+00:00 Subject: [ruby-core:113631] [Ruby master Feature#19690] Add terminal colorizing gem to stdlib Issue #19690 has been updated by st0012 (Stan Lo). Hi there. I think we're talking about two different needs here: 1. A coloring library for Ruby Core tooling projects, like `IRB`, `tracer`, and `debug`. 2. A coloring library for the community. While they do have overlap, I think 1) has much fewer requirements in terms of functionalities and interface. As the maintainer of IRB and the tracer gem, I agree that having 1) would be great. I'm not too sure if 2) needs to be fulfilled by an official library, but that's something you can ask more explicitly in a comment or another issue. However, I don't think pulling the `rainbow` gem into Ruby Core would be the right solution for 1), as the mentioned tools don't need X11 colors, nor the color refinements, which are two major features of the library. In my opinion, if we're going to have such a library, it will likely be just an extraction of (maybe some of) IRB's coloring logic. ---------------------------------------- Feature #19690: Add terminal colorizing gem to stdlib https://bugs.ruby-lang.org/issues/19690#change-103272 * Author: ccmywish (Aoran Zeng) * Status: Open * Priority: Normal ---------------------------------------- Recently the new version of `tracer` gem caught my eye. But I've noticed an anti-DRY pattern. I've noticed that many libs, CLI tools implement their own logic of color support on the terminal. These libs/CLI tools don't explicitly require a gem from RubyGems.org may be because of these reasons: 1. It's very easy to directly monkey patch `String` class to support, such as `bold`, `red`, `blue` 2. The lib is very independent, the author doesn't want any dependency. See: https://github.com/ruby/tracer/blob/master/lib/tracer/color.rb I hope the core team consider adding `official` support for terminal colorizing, because most Ruby developers live on the terminal. If we've added it, all gems/CLI tools developers can easily add simple styles. For example, adding color to `gem` and `bundler` command is attractive. Next door community's `npm` seem much cooler by just using simple colors. Could we coordinate with the gem [rainbow](https://rubygems.org/gems/rainbow)'s author to make it one of the stdlib or bundled gem like `minitest`? -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/