Question

Il y a beaucoup de bibliothèques coloration: couleur, durée ANSIColor. Mais est-il qui peut faire ceci:

puts "#{'hello'.red} world!".bold

Et world! doit être en gras.

Pour rendre clair, je veux ceci:

"\e[1m\e[31mhello\e[0m\e[1m world!\e[0m"

ou mieux encore ce (juste plus court):

"\e[1;31mhello\e[0;1m world!\e[0m"

au lieu de ceci:

"\e[1m\e[31mhello\e[0m world!\e[0m"
Était-ce utile?

La solution

Comme il n'y en a pas, je l'ai écrit moi-même, avec le blackjack et des putes smart one - smart_colored

gem install smart_colored

et exécutez

require 'smart_colored/extend'
# without extend you'll need to use 'string'.colored.red

puts "#{'hello'.red} world!".bold

Autres conseils

Le lib est appelé Highline Il a une méthode color: say("This should be <%= color('bold', BOLD) %>!") Ce qui peut être facilement utilisé pour mettre en œuvre String#bold.

Si vous utilisez Highline j'ai fait un petit bijou qui étend les couleurs et fournit des aides telles que:

say_bold 'this is bold text'

https://github.com/bonzofenix/highline-color

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top