Skip to content
Utility functions for colorful console applications with Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Gem Version Build Status Maintainability Test Coverage

Utility functions for colorful console applications.


$ gem install colsole


  • Print colored messages
  • Color parts of a message
  • Print neatly aligned status messages
  • Word wrap with indentation consideration

See the Examples file for more.

Primary Functions

say "anything"

An alternative to puts.

say "Hello"

Leave a trailing space to keep the cursor at the same line

say "appears in "
say "one line"

Embed color markers in the string:

say "!txtred!I am RED !txtgrn!I am GREEN"

say_status :status, "message" [, :color]

Print a message with a colored status

say_status :create, "perpetual energy"

You can provide a color in the regulat 6 letter code:

say_status :error, "does not compute", :txtred

word_wrap " string" [, length]

Wrap long lines while keeping words intact, and keeping indentation based on the leading spaces in your string:

say word_wrap("    one two three four five", 15)

# output:
#    one two
#    three four
#    five

If length is not provided, word_wrap will attempt to determine it automatically based on the width of the terminal.

resay "anything"

Use resay after a space terminated "said" string to rewrite the line

say "downloading... "
# long process here...
resay "downloaded."

say! "anything to stderr"

Use say! to output to stderr with color markers:

say! "!txtred!Error!txtrst!: This just did not work"

Utility / Support Functions

colorize "!txtred!Hello"

Parses and returns a color-flagged string.

Respects pipe and auto terminates colored strings.

Call without text to see a list/demo of all available colors.


Returns true if we are running in an interactive terminal

command_exist? "some_executable"

Checks if the provided string is a command in the path.

detect_terminal_size fallback_value

Returns an array [width, height] of the terminal, or the supplied fallback_value if it is unable to detect.


Returns only the terminal width. This is a shortcut to detect_terminal_size[0].

Color Codes

Color Codes

You can’t perform that action at this time.