climate.cr
Small helper utility to make your CLI program output 🌈 coloured by means of configurable markup styles. Think of it as your CLI-mate :)
Installation
-
Add the dependency to your
shard.yml
:dependencies: climate: github: Sija/climate.cr
-
Run
shards install
Usage
require "climate"
message = "Usage: {#{PROGRAM_NAME}} <required-arg> [optional-arg]"
# you can call `Climate.parse` method directly
puts Climate.parse(message)
# or use a `String#climatize` extension
puts message.climatize
Defaults
Default styles are:
<>
colored in green (keeping delimiters)[]
colored in yellow (keeping delimiters){}
colored in blue (hiding delimiters)!¡
colored in red (hiding delimiters)
Configuration
You can change the global settings with a #configure
block:
Climate.configure do |settings|
# use defaults
settings.use_defaults!
# and/or configure your own styles
settings.styles << Climate::Style.new(
delimiters: {'?', '¿'},
keep_delimiters: false,
colors: {
fore: :magenta,
back: :default,
},
decoration: :bold
)
end
For the colors
and decoration
reference values see
documentation for the Colorize
module (which Climate
uses under the hood).
Contributing
- Fork it (https://github.com/Sija/climate.cr/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
Contributors
- Sijawusz Pur Rahnama - creator and maintainer