Почему моя подсказка IRB с цветовыми кодами ANSI нарушает поведение страницы вверх / вниз при копировании / вставке?

Я добавил в мой .irbrc:

IRB.conf[:PROMPT].reverse_merge!(:RAILS_ENV => {:PROMPT_I=>"#{current_app} #{rails_env} #{prompt} ", :PROMPT_N=>"#{current_app} #{rails_env} #{prompt} ", :PROMPT_S=>nil, :PROMPT_C=>"?> ", :RETURN=>"=> %s\n"}) 
IRB.conf[:PROMPT_MODE] = :RAILS_ENV

Если я сделаю что-то вроде:

current_app = "\e[31mfoo_bar_app\e[0m"
rails_env = "\e[32m#{RAILS_ENV}\e[0m"

, то подсказка будет красиво раскрашена, но если я скопирую какой-то текст в свой копировальный буфер и вставлю его, если я сделаю page-up / page-down, чтобы перейти в начало / конец текущего введенного текста мой курсор как бы перескакивает в середину текста для страницы вверх, а для страницы вниз он прыгает далеко вправо в область пустых пространств, где ничего не было набрано, тогда моя позиция курсора полностью испорчена.

Есть ли способ исправить это? Мне действительно нужна раскрашенная подсказка.

8
задан the Tin Man 24 January 2012 в 20:18
поделиться