{"id":95,"name":null,"description":"Ruby gem for colorizing printed text on ANSI terminals","url":"https://github.com/ku1ik/rainbow","last_synced_at":"2026-04-30T16:30:29.856Z","repository":{"id":446989,"uuid":"69648","full_name":"ku1ik/rainbow","owner":"ku1ik","description":"Ruby gem for colorizing printed text on ANSI terminals","archived":false,"fork":false,"pushed_at":"2025-11-25T07:44:55.000Z","size":220,"stargazers_count":825,"open_issues_count":10,"forks_count":70,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-04-19T19:11:42.468Z","etag":null,"topics":["colorization","gem","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ku1ik.png","metadata":{"files":{"readme":"README.markdown","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2008-10-30T09:34:00.000Z","updated_at":"2026-04-04T19:53:40.000Z","dependencies_parsed_at":"2025-08-29T14:35:29.808Z","dependency_job_id":"55466c26-ca6d-4c13-8879-123d79fdfab5","html_url":"https://github.com/ku1ik/rainbow","commit_stats":{"total_commits":251,"total_committers":46,"mean_commits":5.456521739130435,"dds":0.6693227091633467,"last_synced_commit":"629cde5a18375b615ba175bad29a1953f336c5ee"},"previous_names":["ku1ik/rainbow","sickill/rainbow"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/ku1ik/rainbow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32091053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ku1ik","name":"Marcin Kulik","uuid":"17589","kind":"user","description":"Software engineer, consultant, specializing in Elixir and Rust. Creator of @asciinema.","email":"","website":"https://ku1ik.com","location":"Poland","twitter":null,"company":"@asciinema","icon_url":"https://avatars.githubusercontent.com/u/17589?u=1f51a13592061f7f7e3819fd20f88f31eaa7e053\u0026v=4","repositories_count":117,"last_synced_at":"2026-01-29T23:18:53.707Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/ku1ik","funding_links":["https://github.com/sponsors/ku1ik"],"total_stars":6715,"followers":799,"following":27,"created_at":"2022-11-02T16:20:23.643Z","updated_at":"2026-01-29T23:18:53.707Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik/repositories"},"packages":[{"id":11692331,"name":"github.com/ku1ik/rainbow","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ku1ik/rainbow","keywords_array":[],"namespace":null,"versions_count":20,"first_release_published_at":"2008-07-21T13:40:16.000Z","latest_release_published_at":"2022-01-11T09:10:10.000Z","latest_release_number":"v3.1.1+incompatible","last_synced_at":"2026-04-18T23:27:01.683Z","created_at":"2025-05-27T08:23:39.631Z","updated_at":"2026-04-18T23:27:01.683Z","registry_url":"https://pkg.go.dev/github.com/ku1ik/rainbow","install_command":"go get github.com/ku1ik/rainbow","documentation_url":"https://pkg.go.dev/github.com/ku1ik/rainbow#section-documentation","metadata":{},"repo_metadata":{"id":446989,"uuid":"69648","full_name":"ku1ik/rainbow","owner":"ku1ik","description":"Ruby gem for colorizing printed text on ANSI terminals","archived":false,"fork":false,"pushed_at":"2025-08-19T09:17:28.000Z","size":219,"stargazers_count":825,"open_issues_count":9,"forks_count":71,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-10-04T08:17:48.440Z","etag":null,"topics":["colorization","gem","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ku1ik.png","metadata":{"files":{"readme":"README.markdown","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2008-10-30T09:34:00.000Z","updated_at":"2025-10-03T17:52:35.000Z","dependencies_parsed_at":"2025-08-29T14:35:29.808Z","dependency_job_id":"55466c26-ca6d-4c13-8879-123d79fdfab5","html_url":"https://github.com/ku1ik/rainbow","commit_stats":{"total_commits":251,"total_committers":46,"mean_commits":5.456521739130435,"dds":0.6693227091633467,"last_synced_commit":"629cde5a18375b615ba175bad29a1953f336c5ee"},"previous_names":["ku1ik/rainbow","sickill/rainbow"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/ku1ik/rainbow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391185,"owners_count":25978945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ku1ik","name":"Marcin Kulik","uuid":"17589","kind":"user","description":"Software engineer, consultant, specializing in Elixir and Rust. Creator of @asciinema.","email":"","website":"https://ku1ik.com","location":"Poland","twitter":null,"company":"@asciinema","icon_url":"https://avatars.githubusercontent.com/u/17589?u=1f51a13592061f7f7e3819fd20f88f31eaa7e053\u0026v=4","repositories_count":117,"last_synced_at":"2025-10-06T20:47:55.648Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/ku1ik","funding_links":["https://github.com/sponsors/ku1ik"],"total_stars":6695,"followers":779,"following":28,"created_at":"2022-11-02T16:20:23.643Z","updated_at":"2025-10-06T20:47:55.649Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ku1ik/repositories"},"tags":[{"name":"v3.1.1","sha":"d5e20718cfe890bf9fea9a435e72e9bfff2eab5a","kind":"tag","published_at":"2022-01-11T09:10:45.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v3.1.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"8a2e3183c86c701f359333a3a7495fa8f17ec316","kind":"tag","published_at":"2020-08-26T11:28:25.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v3.1.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.1.0/manifests"},{"name":"v3.0.0","sha":"36c7e48310785ea3f2e1388e8cfcd4c303e3c55a","kind":"tag","published_at":"2017-11-29T18:43:57.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v3.0.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"75a1f87624913601f87b5b81dd14b6d8c8e0341f","kind":"tag","published_at":"2017-04-21T16:53:31.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v2.2.2","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"b27e6153c1da7da332b4973b01691f34fe86aa92","kind":"tag","published_at":"2016-12-28T19:42:38.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v2.2.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"92bde9a52d0a93f1b0fb3dc58fe5e665c1401029","kind":"tag","published_at":"2016-12-27T21:32:42.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v2.2.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0c8b7d8842868f77012f8e140cdb9cee49b1a053","kind":"tag","published_at":"2016-01-24T15:29:43.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v2.1.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"11f7cd273815e2c5a08117099219bca3ab739401","kind":"tag","published_at":"2014-01-24T12:43:34.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v2.0.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v2.0.0/manifests"},{"name":"v1.99.2","sha":"f46de59eeb940f8b4aa6e9657c054427db06bdc1","kind":"tag","published_at":"2014-01-24T12:23:21.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.99.2","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.99.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.99.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.2/manifests"},{"name":"v1.99.1","sha":"439f840e5b848597783d4aa6f81018e7fa3f570a","kind":"tag","published_at":"2013-12-28T13:59:49.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.99.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.99.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.99.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.1/manifests"},{"name":"v1.99.0","sha":"078badb92c7887028d9ab12718f9b8eea3dda91a","kind":"tag","published_at":"2013-12-26T15:27:08.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.99.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.99.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.99.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.99.0/manifests"},{"name":"v1.1.4","sha":"63247fc38fab8fc302f780fd98985d2c879be20d","kind":"commit","published_at":"2012-04-27T22:06:05.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.1.4","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"70f8d27184575f8391794e2b2c6995c5c5e52b4d","kind":"commit","published_at":"2011-12-06T20:05:54.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.1.3","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"c6a504d53f1cbe30056194e8c5be479beee35163","kind":"commit","published_at":"2011-11-13T12:30:21.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.1.2","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"b54577c8f2b49ba31adb7fe6ff0f783e9e4794ef","kind":"commit","published_at":"2011-02-06T18:28:02.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.1.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1.1/manifests"},{"name":"v1.1","sha":"500f1eb8eee73890e77d884abe0c50b0cac3f210","kind":"commit","published_at":"2010-06-07T17:34:56.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.1/manifests"},{"name":"v1.0.4","sha":"74f048684da6530fe29233d473c71fb8180f9429","kind":"commit","published_at":"2009-11-27T19:45:21.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.0.4","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"2952a51e18f890327167d2137b738c972f2da8c9","kind":"commit","published_at":"2009-07-25T22:41:33.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.0.3","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"d0551051d593ef431463a05da0e91ada9becd44f","kind":"commit","published_at":"2009-05-15T09:21:36.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.0.2","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"a1e4d34e3f6f0939408439ba2e58161ca0086099","kind":"commit","published_at":"2009-03-19T21:19:44.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.0.1","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"f0c5c28949a95d1c4c759ff7bb60b5059159fff7","kind":"commit","published_at":"2008-07-21T13:40:16.000Z","download_url":"https://codeload.github.com/ku1ik/rainbow/tar.gz/v1.0.0","html_url":"https://github.com/ku1ik/rainbow/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ku1ik/rainbow@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-10-13T00:12:37.912Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.807004531283771,"dependent_packages_count":5.441509219438237,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.624256875361004},"purl":"pkg:golang/github.com/ku1ik/rainbow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ku1ik/rainbow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ku1ik/rainbow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ku1ik/rainbow/dependencies","status":null,"funding_links":["https://github.com/sponsors/ku1ik"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T18:09:25.874Z","issues_count":2,"pull_requests_count":6,"avg_time_to_close_issue":580421.0,"avg_time_to_close_pull_request":268315.25,"issues_closed_count":1,"pull_requests_closed_count":4,"pull_request_authors_count":5,"issue_authors_count":2,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":4,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":1,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":8181.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/issues","maintainers":[{"login":"olleolleolle","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/olleolleolle"}],"active_maintainers":[{"login":"olleolleolle","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/olleolleolle"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fku1ik%2Frainbow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fku1ik%2Frainbow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fku1ik%2Frainbow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fku1ik%2Frainbow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fku1ik%2Frainbow/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2103565,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1358673,"full_name":"ku1ik/rainbow","default_branch":"master","total_commits":261,"total_committers":48,"total_bot_commits":3,"total_bot_committers":1,"mean_commits":5.4375,"dds":0.6743295019157088,"past_year_total_commits":6,"past_year_total_committers":3,"past_year_total_bot_commits":2,"past_year_total_bot_committers":1,"past_year_mean_commits":2.0,"past_year_dds":0.5,"last_synced_at":"2026-04-20T01:23:10.774Z","last_synced_commit":"9aba61fd8df9ca949eb98c07c40778b37924b805","created_at":"2023-09-13T02:27:21.391Z","updated_at":"2026-04-20T01:21:23.244Z","committers":[{"name":"Marcin Kulik","email":"m@ku1ik.com","login":"ku1ik","count":85},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":58},{"name":"Marcin Kulik","email":"marcin.kulik@gmail.com","login":"sickill","count":27},{"name":"lkdjiin","email":"xavier.nayrac@gmail.com","login":"lkdjiin","count":15},{"name":"Masafumi Koba","email":"473530+ybiquitous","login":"ybiquitous","count":6},{"name":"Marcin Kulik","email":"marcin.kulik@llp.pl","login":null,"count":4},{"name":"sato-s","email":"s.sato.desu@gmail.com","login":"sato-s","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":3},{"name":"Yuya Tanaka","email":"yuya.presto@gmail.com","login":"ypresto","count":3},{"name":"Felipe Coury","email":"felipe.coury@gmail.com","login":"fcoury","count":3},{"name":"Erik Michaels-Ober","email":"sferik@gmail.com","login":"sferik","count":3},{"name":"David Rodríguez","email":"deivid.rodriguez@riseup.net","login":"deivid-rodriguez","count":3},{"name":"Chi Leung","email":"chiting.leung@gmail.com","login":"chiting","count":3},{"name":"Bryan Johnson","email":"bryanj@pcsoln.com","login":"txag1995","count":3},{"name":"David Rodríguez","email":"deivid.rodriguez@gmail.com","login":null,"count":3},{"name":"Logan Koester","email":"lkoester@agoragames.com","login":null,"count":2},{"name":"Christian Paling","email":"christian.paling@googlemail.com","login":"bakku","count":2},{"name":"Claudio Bley","email":"claudio.bley@gmail.com","login":"avdv","count":2},{"name":"Igor Victor","email":"gogainda@yandex.ru","login":"gogainda","count":2},{"name":"mishina","email":"temma182008@gmail.com","login":"mishina2228","count":2},{"name":"Eli Clemente Gordillo Foster","email":"elifosterwy@gmail.com","login":"elifoster","count":2},{"name":"tobyh","email":"tobyh","login":null,"count":1},{"name":"sato","email":"sato@example.com","login":null,"count":1},{"name":"Mark Smith","email":"mark.smith@objectbynature.com","login":null,"count":1},{"name":"tbpgr","email":"tbpgr@tbpgr.jp","login":"tbpgr","count":1},{"name":"fatkodima","email":"fatkodima123@gmail.com","login":"fatkodima","count":1},{"name":"Sunny Ripert","email":"sunny@sunfox.org","login":"sunny","count":1},{"name":"Stephan Nordnes Eriksen","email":"stephanruler@gmail.com","login":"stephan-nordnes-eriksen","count":1},{"name":"Stefan Wrobel","email":"swrobel","login":"swrobel","count":1},{"name":"Sebastian Schuberth","email":"sschuberth@gmail.com","login":"sschuberth","count":1},{"name":"Ryan Rosenblum","email":"ryan.rosenblum@gmail.com","login":"rrosenblum","count":1},{"name":"Peter Leitzen","email":"splattael","login":"splattael","count":1},{"name":"Nicolas Leger","email":"nicolasleger","login":"nicolasleger","count":1},{"name":"Mike Dalessio","email":"mike.dalessio@gmail.com","login":"flavorjones","count":1},{"name":"Mike A. Owens","email":"mike@filespanker.com","login":"mieko","count":1},{"name":"Michael Pearson","email":"mipearson@gmail.com","login":"mipearson","count":1},{"name":"Matt Rayner","email":"mattrayner1@gmail.com","login":"mattrayner","count":1},{"name":"Masataka Pocke Kuwabara","email":"kuwabara@pocke.me","login":"pocke","count":1},{"name":"Logan Koester","email":"logan@logankoester.com","login":"logankoester","count":1},{"name":"Koichi ITO","email":"koic.ito@gmail.com","login":"koic","count":1},{"name":"Ivar Vasara","email":"ivar-github@oobik.com","login":"ivar","count":1},{"name":"Gregory Goltsov","email":"gregory@goltsov.info","login":"kot-behemoth","count":1},{"name":"Gary Tou","email":"gary@garytou.com","login":"garyhtou","count":1},{"name":"Chad Humphries","email":"chad@spicycode.com","login":"spicycode","count":1},{"name":"Baron Bloomer","email":"baronbloomer@gmail.com","login":"bazay","count":1},{"name":"Anton Antonov","email":"anton.synd.antonov@gmail.com","login":"syndbg","count":1},{"name":"Alexander E. Fischer","email":"aef@raxys.net","login":"aef","count":1},{"name":"Aaron Van Bokhoven","email":"bokhoven@gmail.com","login":"aaronvb","count":1}],"past_year_committers":[{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"Peter Leitzen","email":"splattael","login":"splattael","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.949Z","repositories_count":6215268,"commits_count":899447002,"contributors_count":34906382,"owners_count":1143777,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ku1ik/rainbow","html_url":"https://github.com/ku1ik/rainbow","last_synced_at":"2026-03-12T17:26:01.727Z","status":"error","issues_count":2,"pull_requests_count":13,"avg_time_to_close_issue":580421.0,"avg_time_to_close_pull_request":147928.125,"issues_closed_count":1,"pull_requests_closed_count":8,"pull_request_authors_count":6,"issue_authors_count":2,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.38461538461538464,"merged_pull_requests_count":8,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":23669.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":2,"past_year_merged_pull_requests_count":5,"created_at":"2024-04-09T11:19:31.404Z","updated_at":"2026-03-12T17:26:01.727Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ku1ik%2Frainbow/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":3,"github_actions":2},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"NONE":6,"CONTRIBUTOR":4,"COLLABORATOR":3},"issue_authors":{"TylerRick":1,"tobyh":1},"pull_request_authors":{"TylerRick":4,"olleolleolle":3,"dependabot[bot]":3,"splattael":1,"tobyh":1,"garyhtou":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14347796,"issues_count":34449597,"pull_requests_count":112772519,"authors_count":11241686,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":2,"github_actions":2},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"COLLABORATOR":2,"CONTRIBUTOR":2,"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":2,"olleolleolle":2,"splattael":1},"maintainers":[{"login":"olleolleolle","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/olleolleolle"}],"active_maintainers":[{"login":"olleolleolle","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/olleolleolle"}]},"events":{"total":{"DeleteEvent":3,"PullRequestEvent":13,"ForkEvent":5,"IssuesEvent":1,"WatchEvent":18,"IssueCommentEvent":3,"PushEvent":6,"PullRequestReviewEvent":3,"PullRequestReviewCommentEvent":2,"CreateEvent":2},"last_year":{"DeleteEvent":3,"PullRequestEvent":9,"ForkEvent":1,"WatchEvent":5,"IssueCommentEvent":3,"PushEvent":5,"CreateEvent":2}},"keywords":["colorization","gem","ruby"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-02-12T20:40:11.321Z","updated_at":"2023-02-12T20:40:11.321Z","repository_link":"https://github.com/ku1ik/rainbow/blob/master/.github/workflows/ci.yml","dependencies":[{"id":7596385400,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7596385401,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2023-02-12T20:40:11.335Z","updated_at":"2023-02-12T20:40:11.335Z","repository_link":"https://github.com/ku1ik/rainbow/blob/master/Gemfile","dependencies":[{"id":7596385402,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":7596385403,"package_name":"coveralls","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":7596385404,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":7596385405,"package_name":"mutant-rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":7596385406,"package_name":"rubocop","ecosystem":"rubygems","requirements":"= 1.7.0","direct":true,"kind":"development","optional":false},{"id":7596385407,"package_name":"guard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":7596385408,"package_name":"guard-rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"rainbow.gemspec","sha":null,"kind":"manifest","created_at":"2023-02-12T20:40:11.351Z","updated_at":"2023-02-12T20:40:11.351Z","repository_link":"https://github.com/ku1ik/rainbow/blob/master/rainbow.gemspec","dependencies":[{"id":7596385409,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 1.3, \u003c 3","direct":true,"kind":"development","optional":false}]}],"score":null,"created_at":"2024-12-15T21:38:06.975Z","updated_at":"2026-04-30T16:30:29.863Z","avatar_url":"https://github.com/ku1ik.png","language":"Ruby","monthly_downloads":0,"readme":"# Rainbow\n\n[![Gem Version](https://badge.fury.io/rb/rainbow.svg)](https://rubygems.org/gems/rainbow)\n[![CI](https://github.com/ku1ik/rainbow/actions/workflows/ci.yml/badge.svg)](https://github.com/ku1ik/rainbow/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/sickill/rainbow/badge.svg)](https://coveralls.io/r/sickill/rainbow)\n\nRainbow is a ruby gem for colorizing printed text on ANSI terminals.\n\nIt provides a string presenter object, which adds several methods to your\nstrings for wrapping them in [ANSI escape\ncodes](http://en.wikipedia.org/wiki/ANSI_escape_code). These codes when printed\nin a terminal change text attributes like text color, background color,\nintensity etc.\n\n## Usage\n\nTo make your string colored wrap it with `Rainbow()` presenter and call\n`.color(\u003ccolor name\u003e)` on it.\n\n### Example\n\n```ruby\nrequire 'rainbow'\n\nputs Rainbow(\"this is red\").red + \" and \" + Rainbow(\"this on yellow bg\").bg(:yellow) + \" and \" + Rainbow(\"even bright underlined!\").underline.bright\n\n# =\u003e \"\\e[31mthis is red\\e[0m and \\e[43mthis on yellow bg\\e[0m and \\e[4m\\e[1meven bright underlined!\\e[0m\"\n```\n\n![Screenshot of the previous code in a terminal](https://user-images.githubusercontent.com/132/132943811-93747cc5-bdaf-43a2-a1a4-a1f18e805eba.png)\n\nOr, [watch this video example](https://asciinema.org/a/J928KpHoUQ0sl54ulOSOLE71E?rows=20\u0026speed=2.5)\n\n### Rainbow presenter API\n\nRainbow presenter adds the following methods to presented string:\n\n* `color(c)` (with `foreground`, and `fg` aliases)\n* `background(c)` (with `bg` alias)\n* `bright`\n* `underline`\n* `blink`\n* `inverse`\n* `hide`\n* `faint` (not well supported by terminal emulators)\n* `italic` (not well supported by terminal emulators)\n* `cross_out`, `strike`\n\nText color can also be changed by calling a method named by a color:\n\n* `black`\n* `red`\n* `green`\n* `yellow`\n* `blue`\n* `magenta`\n* `cyan`\n* `white`\n* `aqua`\n* `silver`\n* `aliceblue`\n* `indianred`\n\nAll of the methods return `self` (the presenter object) so you can chain method\ncalls:\n\n```ruby\nRainbow(\"hola!\").blue.bright.underline\n```\n\nThe `Rainbow` module also provides an `uncolor` method for stripping away any\nexisting color or formatting. This may be handy for determining the visual\nlength of strings.\n\n```ruby\ntext = Rainbow(\"this is green!\").green\n# =\u003e \"\\e[32mthis is green!\\e[0m\"\n\nRainbow.uncolor(text)\n# =\u003e \"this is green!\"\n```\n\n### Refinement\n\nIf you want to use the Refinements version, you can:\n\n```ruby\nrequire 'rainbow/refinement'\nusing Rainbow\nputs \"Hi!\".green\n```\n\nHere's an IRB session example:\n\n```\n\u003e\u003e 'Hello, World!'.blue.bright.underline\nNoMethodError: undefined method `blue' for \"Hello, World!\":String\n    (ripl):1:in `\u003cmain\u003e'\n\u003e\u003e using Rainbow\n=\u003e main\n\u003e\u003e 'Hello, World!'.blue.bright.underline\n=\u003e \"\\e[34m\\e[1m\\e[4mHello, World!\\e[0m\"\n```\n\n### Color specification\n\nBoth `color` and `background` accept color specified in any\nof the following ways:\n\n* ANSI color number (where 0 is black, 1 is red, 2 is green and so on):\n  `Rainbow(\"hello\").color(1)`\n\n* [ANSI color](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) name or [X11 color](https://en.wikipedia.org/wiki/X11_color_names) name as a symbol:\n  `Rainbow(\"hello\").color(:yellow)`.\n  This can be simplified to `Rainbow(\"hello\").yellow`  \n  \n  See [Color list](#user-content-color-list) for all available color names.  \n  Note that ANSI colors can be changed in accordance with terminal setting.  \n  But X11 color is just a syntax sugar for RGB triplet. So you always see what you specified.\n\n* RGB triplet as separate values in the range 0-255:\n  `Rainbow(\"hello\").color(115, 23, 98)`\n\n* RGB triplet as a hex string:\n  `Rainbow(\"hello\").color(\"FFC482\")` or `Rainbow(\"hello\").color(\"#FFC482\")`\n\nWhen you specify a color with a RGB triplet rainbow finds the nearest match\nfrom 256 colors palette. Note that it requires a 256-colors capable terminal to\ndisplay correctly.\n\n#### Example: Choose a random color\n\nYou can pick a random color with Rainbow, it's a one-liner:\n\n```ruby\ncolors = Range.new(0,7).to_a\n\"whoop dee doop\".chars.map { |char| Rainbow(char).color(colors.sample) }.join\n# =\u003e \"\\e[36mw\\e[0m\\e[37mh\\e[0m\\e[34mo\\e[0m\\e[34mo\\e[0m\\e[37mp\\e[0m\\e[34m \\e[0m\\e[36md\\e[0m\\e[33me\\e[0m\\e[34me\\e[0m\\e[37m \\e[0m\\e[32md\\e[0m\\e[35mo\\e[0m\\e[33mo\\e[0m\\e[36mp\\e[0m\"\n\ncolors = [:aliceblue, :antiquewhite, :aqua, :aquamarine, :azure, :beige, :bisque, :blanchedalmond, :blueviolet]\n\"whoop dee doop\".chars.map { |char| Rainbow(char).color(colors.sample) }.join\n# =\u003e \"\\e[38;5;135mw\\e[0m\\e[38;5;230mh\\e[0m\\e[38;5;231mo\\e[0m\\e[38;5;135mo\\e[0m\\e[38;5;231mp\\e[0m\\e[38;5;231m \\e[0m\\e[38;5;122md\\e[0m\\e[38;5;231me\\e[0m\\e[38;5;231me\\e[0m\\e[38;5;230m \\e[0m\\e[38;5;122md\\e[0m\\e[38;5;51mo\\e[0m\\e[38;5;51mo\\e[0m\\e[38;5;51mp\\e[0m\"\n```\n\n### Configuration\n\nRainbow can be enabled/disabled globally by setting:\n\n```ruby\nRainbow.enabled = true/false\n```\n\nWhen disabled all the methods return an unmodified string\n(`Rainbow(\"hello\").red == \"hello\"`).\n\nIt's enabled by default, unless STDOUT/STDERR is not a TTY or a terminal is\ndumb.\n\n### Advanced usage\n\n`Rainbow()` and `Rainbow.enabled` operate on the global Rainbow wrapper\ninstance. If you would like to selectively enable/disable coloring in separate\nparts of your application you can get a new Rainbow wrapper instance for each\nof them and control the state of coloring during the runtime.\n\n```ruby\nrainbow_one = Rainbow.new\nrainbow_two = Rainbow.new\n\nrainbow_one.enabled = false\n\nRainbow(\"hello\").red          # =\u003e \"\\e[31mhello\\e[0m\" (\"hello\" if not on TTY)\nrainbow_one.wrap(\"hello\").red # =\u003e \"hello\"\nrainbow_two.wrap(\"hello\").red # =\u003e \"\\e[31mhello\\e[0m\" (\"hello\" if not on TTY)\n```\n\nBy default each new instance inherits enabled/disabled state from the global\n`Rainbow.enabled`.\n\nThis feature comes handy for example when you have multiple output formatters\nin your application and some of them print to a terminal but others write to a\nfile. Normally rainbow would detect that STDIN/STDERR is a TTY and would\ncolorize all the strings, even the ones that go through file writing\nformatters. You can easily solve that by disabling coloring for the Rainbow\ninstances that are used by formatters with file output.\n\n## Installation\n\nAdd it to your Gemfile:\n\n```ruby\ngem 'rainbow'\n```\n\nOr just install it via rubygems:\n\n```ruby\ngem install rainbow\n```\n\n## Color list\n\n### ANSI colors\n\n`black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`\n\n### X11 colors\n\n`aliceblue`, `antiquewhite`, `aqua`, `aquamarine`, `azure`, `beige`, `bisque`,\n`blanchedalmond`, `blueviolet`, `brown`, `burlywood`, `cadetblue`, `chartreuse`,\n`chocolate`, `coral`, `cornflower`, `cornsilk`, `crimson`, `darkblue`,\n`darkcyan`, `darkgoldenrod`, `darkgray`, `darkgreen`, `darkkhaki`,\n`darkmagenta`, `darkolivegreen`, `darkorange`, `darkorchid`, `darkred`,\n`darksalmon`, `darkseagreen`, `darkslateblue`, `darkslategray`, `darkturquoise`,\n`darkviolet`, `deeppink`, `deepskyblue`, `dimgray`, `dodgerblue`, `firebrick`,\n`floralwhite`, `forestgreen`, `fuchsia`, `gainsboro`, `ghostwhite`, `gold`,\n`goldenrod`, `gray`, `greenyellow`, `honeydew`, `hotpink`, `indianred`,\n`indigo`, `ivory`, `khaki`, `lavender`, `lavenderblush`, `lawngreen`,\n`lemonchiffon`, `lightblue`, `lightcoral`, `lightcyan`, `lightgoldenrod`,\n`lightgray`, `lightgreen`, `lightpink`, `lightsalmon`, `lightseagreen`,\n`lightskyblue`, `lightslategray`, `lightsteelblue`, `lightyellow`, `lime`,\n`limegreen`, `linen`, `maroon`, `mediumaquamarine`, `mediumblue`,\n`mediumorchid`, `mediumpurple`, `mediumseagreen`, `mediumslateblue`,\n`mediumspringgreen`, `mediumturquoise`, `mediumvioletred`, `midnightblue`,\n`mintcream`, `mistyrose`, `moccasin`, `navajowhite`, `navyblue`, `oldlace`,\n`olive`, `olivedrab`, `orange`, `orangered`, `orchid`, `palegoldenrod`,\n`palegreen`, `paleturquoise`, `palevioletred`, `papayawhip`, `peachpuff`,\n`peru`, `pink`, `plum`, `powderblue`, `purple`, `rebeccapurple`, `rosybrown`,\n`royalblue`, `saddlebrown`, `salmon`, `sandybrown`, `seagreen`, `seashell`,\n`sienna`, `silver`, `skyblue`, `slateblue`, `slategray`, `snow`, `springgreen`,\n`steelblue`, `tan`, `teal`, `thistle`, `tomato`, `turquoise`, `violet`,\n`webgray`, `webgreen`, `webmaroon`, `webpurple`, `wheat`, `whitesmoke`,\n`yellowgreen`\n\n## Authors\n\n- [Marcin Kulik](http://ku1ik.com/)\n- [Olle Jonsson](https://github.com/olleolleolle)\n- [and many contributors](https://github.com/sickill/rainbow/graphs/contributors)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["rubygems","activerecord","rubocop","code-formatter","static-code-analysis","activejob","mvc","crash-reporting","rspec","rack"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/95","html_url":"https://ruby.ecosyste.ms/projects/95"}