Я работаю с раскрашиванием некоторого вывода с использованием readline в Ruby, но мне не повезло, что обработка строк корректно работает. Например:Раскрашенный вывод ломается с линкером с readline
"\e[01;32mThis prompt is green and bold\e[00m > "
Желаемый результат будет:
This prompt is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
То, что я на самом деле получаю:
aaaaaaaaaaa is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Если удалить цветовые коды, перенос строк работает правильно. Я знаю, что с bash это может произойти, если цветовые коды некорректно прекращены, но я пробовал все, о чем я могу думать, включая несколько разных драгоценных камней, и поведение такое же. Это также происходит в нескольких системах с различными версиями Readline. Этот конкретный проект использует rb-readline
, а не C readline
.
Вы пробовали использовать https://rubygems.org/gems/colored для цветного вывода? – Maher4Ever
Да, я попробовал это, а также раскрасил. Выход работает отлично, но при использовании его с подсказкой readline он прерывает перенос строк. – Eugene