Я пытаюсь использовать GNU Readline с цветным приглашением.Сведенный к минимальному тестовому случаю, мой readline()
вызов выглядит следующим образом:
readline("\x1b[34m" "prompt>" "\x1b[m");
Я ожидал увидеть приглашение вроде этого (просто представьте, что оно синее):
prompt>
но вместо этого я вижу:
[34mprompt>[m
Я читал о быстром расширении в документах и думал, что там может происходить что-то странное.Но расширенная подсказка в порядке, и это работает как ожидалось:
rl_set_prompt("\x1b[34m" "prompt>" "\x1b[m");
printf("%s", rl_prompt); // Prints "prompt>" in blue
Это происходит как в Gnome Terminal, так и в Xterm.Я использую libreadline 7 в Ubuntu 18.04.Я не могу понять, что здесь происходит, и ни у кого в сети, похоже, нет этой проблемы.