libeditを搭載したアプリケーションのプロンプトを色付けしようとしていますが、色が表示されません。ここで私が間違っていることはありますか?
#include <iostream>
#include <histedit.h>
char* prompt(EditLine *e)
{
static char p[] = "\1\033[36m\1:::\1\033[0m\1 ";
return p;
}
int main(int argc, char* argv[])
{
EditLine* el = el_init(argv[0], stdin, stdout, stderr);
el_set(el, EL_PROMPT_ESC, &prompt, '\1');
el_set(el, EL_EDITOR, "vi");
while (1)
{
int count;
char const* line = el_gets(el, &count);
if (count > 0)
std::cout << line;
}
el_end(el);
return 0;
}
でコンパイル
clang++ editline.cc -ledit && ./a.out
残念ながら、次の無色のプロンプトのみが表示されます。
:::