Tôi đang làm việc với việc tạo màu cho một số đầu ra bằng cách sử dụng readline trong Ruby, nhưng tôi không có bất kỳ may mắn nào khi gói hàng hoạt động bình thường. Ví dụ:Chia nhỏ kết quả đầu ra được chia vạch với đường dây đọc
"\e[01;32mThis prompt is green and bold\e[00m > "
Kết quả mong muốn sẽ là:
This prompt is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Những gì tôi thực sự nhận được là:
aaaaaaaaaaa is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Nếu tôi loại bỏ các mã màu, dòng gói hoạt động chính xác. Tôi biết với bash, điều này có thể xảy ra nếu các mã màu không chính xác chấm dứt, nhưng tôi đã thử tất cả mọi thứ tôi có thể nghĩ đến, bao gồm một vài đá quý khác nhau, và hành vi là như nhau. Nó cũng xảy ra trên nhiều hệ thống với các phiên bản khác nhau của Readline. Dự án cụ thể này đang sử dụng rb-readline
như trái ngược với C readline
.
Bạn đã thử sử dụng https://rubygems.org/gems/colored để tô màu đầu ra của mình chưa? – Maher4Ever
Vâng, tôi đã thử một cái cũng như tô màu. Đầu ra hoạt động tốt, nhưng khi sử dụng nó với một dấu nhắc readline, nó phá vỡ dòng gói. – Eugene