Pregunta

Hay un montón de bibliotecas para colorear: color, término-ansicolor. Pero ¿hay alguna que puede hacer esto:

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

Y world! debe estar en negrita.

Para que quede claro, quiero conseguir esto:

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

o mejor incluso este (apenas más corto):

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

en lugar de esto:

"\e[1m\e[31mhello\e[0m world!\e[0m"
¿Fue útil?

Solución

Como no hay ninguno, escribí mi propia, con el blackjack y prostitutas maja - smart_colored

gem install smart_colored

y ejecute

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

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

Otros consejos

El lib se llama Highline Tiene un método color: say("This should be <%= color('bold', BOLD) %>!") Que se puede utilizar fácilmente para implementar String#bold.

En el caso de utilizar Highline hice una joya que se extiende colores y proporciona ayudantes, tales como:

say_bold 'this is bold text'

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top