Terminal color capabilities detection.
TTY::Color provides independent color support detection component for TTY toolkit.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install tty-color
TTY::Color allows you to check if terminal supports color:
::.color? # => true ::. # => true
You can also get the number of colors supported by the terminal using
::. # => 64
To detect if color support has been disabled with
NO_COLOR environment variable, use
::. # => false
TTY::Color is just a module hence you can include it into your scripts directly:
#!/usr/bin/env ruby include :: puts color?
Command line tool
tty-color-cli is a command line tool for the TTY::Color.
To check if terminal supports colors use
tty-color -s tty-color --support # => true
And to check color mode use
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
Code of Conduct
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.