Terminal color capabilities detection.
TTY::Color provides independent color support detection component for TTY toolkit.
Add this line to your application's Gemfile:
gem "tty-color"
And then execute:
$ bundle
Or install it yourself as:
$ gem install tty-color
TTY::Color allows you to check if terminal supports color:
TTY::Color.color? # => true
TTY::Color.support? # => true
You can also get the number of colors supported by the terminal using mode
method:
TTY::Color.mode # => 64
To detect if color support has been disabled with NO_COLOR
environment variable, use disabled?
:
TTY::Color.disabled? # => false
TTY::Color is just a module hence you can include it into your scripts directly:
#!/usr/bin/env ruby
include TTY::Color
puts color?
tty-color-cli is a command line tool for the TTY::Color.
To check if terminal supports colors use -s|--support
:
tty-color -s
tty-color --support
# => true
And to check color mode use -m|--mode
option:
tty-color -m
tty-color --mode
# => 256
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/piotrmurach/tty-color. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
- Fork it ( https://github.com/piotrmurach/tty-color/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Everyone interacting in the TTY::Color projectβs codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
Copyright (c) 2016 Piotr Murach. See LICENSE for further details.