bibliothèque de coloration terminal meilleure
-
08-10-2019 - |
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"
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'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow