0.0
No commit activity in last 3 years
No release in over 3 years
A gem for helping you color strings with ANSI escape codes.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 10.0
 Project Readme

AnsiPalette

Gem Version Build Status Test Coverage Code Climate Dependency Status Inline docs

AnsiPalette is yet another terminal coloring gem. I have never been satisfied with the various coloring gems, for one reason or another, and never knew the details of how each worked.

Goals of this Gem:

  • Help me understand more about ANSI escape characters
  • Create code the makes it easy to understand how ANSI escape charactors are used
  • Create a simple and usable API for coloring strings

Installation

Add this line to your application's Gemfile:

gem 'ansi_palette'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ansi_palette

include AnsiPalette

puts Red("hello")

header = <<-HEADER
  A Classy Comment Header
HEADER

body = <<-BODY
  Some very interesting comment text.
  With all these intricate details.
  Explaining everything you could ever
  want to know.
BODY

doc = <<-DOC
  #{Red(header)}
    #{Cyan(body)}
DOC

puts doc

color = Blue("Header")
puts color

color = Red("Header")
color.bold = true
puts color

color = Yellow("Header")
color.bold = true
color.blink = true
puts color

color = Yellow("Header")
color.bold = true
color.blink = true
color.modifier = 3
puts color

color = Cyan("Header")
color.bold = true
color.modifier = 4
puts color

color = Red("Header")
color.inverse_colors = true
color.bold
puts color

# You can also you use the ColoredString class
colored_string = AnsiPalette::ColoredString.new(string: "hello")
colored_string.color = :red
puts colored_string

colored_string.background_color = :yellow
puts colored_string

colored_string.bold = true
puts colored_string

colored_string.blink = true
puts colored_string

colored_string.underline = true
puts colored_string

colored_string.inverse_colors = true
puts colored_string

colored_string.reset!
puts colored_string

Goals

Create yet another ANSI String gem but also: * The ability to create nested styled strings * The ability to easily compoud ANSI effects * No monkey patching on String * A codebase that explains how ANSI escape characters are used

Contributing

  1. Fork it ( https://github.com/[my-github-username]/ansi_palette/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request