climate

Tiny tool to make your CLI output coloured cli
0.2.2 Latest release released

climate.cr CI Releases License

Small helper utility to make your CLI program output 🌈 coloured by means of configurable markup styles. Think of it as your CLI-mate :)

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      climate:
        github: Sija/climate.cr
    
  2. 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

  1. Fork it (https://github.com/Sija/climate.cr/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

Contributors

climate:
  github: Sija/climate.cr
  version: ~> 0.2.2
License MIT
Crystal ~> 1.6

Authors

Dependencies 0

Development Dependencies 1

  • ameba ~> 1.4.0
    {'github' => 'crystal-ameba/ameba', 'version' => '~> 1.4.0'}

Dependents 0

Last synced .
search fire star recently