Раскрашенный вывод нарушает обводку строк в readline

Я работаю с окрашиванием некоторых выводов с помощью 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, а не readline.

7
задан Eugene 10 January 2012 в 16:23
поделиться