Я работаю с раскрашиванием некоторого вывода, используя readline в Ruby, но мне не повезло, что для правильной работы переноса строк. Например:
"\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
.