Cythara
A small collection of String helpers.
Features
Text formatting
linewrap
- Wrap a String at a given widthwordwrap
- Wrap a String to a given width at word boundaries
ANSI
contains_ansi?
- Detect ANSI escape codesstrip_ansi
- Strip ANSI escape codes
Installation
-
Add the dependency to your
shard.yml
:dependencies: cythara: github: busyloop/cythara
-
Run
shards install
API
Usage
require "cythara/wrap"
Cythara.wordwrap("The quick brown fox", 12) # => ["The quick", "brown fox"]
Cythara.linewrap("The quick brown fox", 12) # => ["The quick br", "own fox"]
require "cythara/ansi"
Cythara.contains_ansi?("\e[31;1mRed Fox") # => true
Cythara.strip_ansi("\e[31;1mRed Fox") # => "Red Fox"
Usage for lazy monkeys 🐒
require "cythara/string"
"The quick brown fox".wordwrap(12) # => ["The quick", "brown fox"]
"The quick brown fox".linewrap(12) # => ["The quick br", "own fox"]
"\e[31;1mRed Fox".contains_ansi? # => true
"\e[31;1mRed Fox".strip_ansi # => "Red Fox"
Credits
The strip_ansi
and contains_ansi?
methods were ported
from the strings-ansi Ruby gem by Piotr Murach.
Contributing
- Fork it (https://github.com/busyloop/cythara/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