Я искал решения в Интернете и нашел некоторую полезную информацию следующим образом:
Установить ANSI Terminal Control включенным по умолчанию в Win10 в соответствии с Гленн Слейден * Ответ 1007 *.
Установите приглашение в файлах конфигурации ghci.conf
в соответствии с здесь и здесь
Моя конфигурация следующая:
:set prompt "\ESC[33mImported Modules: %s\n\ESC[34m\x03BB> \ESC[0m"
:set prompt-cont "\ESC[31m > \ESC[0m"
При загрузке ghci
она не работает (см. Следующий снимок экрана)
Похоже, что вступает в силу только первая escape-последовательность ASCII \ESC[33m
, а остальные последовательности не отображаются.
Далее я внесу следующие изменения в соответствии с на вики :
:set prompt "\ESC[33m\STXImported Modules: %s\n\ESC[34m\STX\x03BB> \ESC[0m\STX"
:set prompt-cont "\ESC[31m\STX > \ESC[0m\STX"
Это лучше, но все еще кажется, что работает только первая escape-последовательность, а другие последовательности игнорируются.
На этот раз я думаю, что рендеринг escape-последовательностей, вероятно, связан с escape-символом \n
, поэтому я добавляю \n
в конце каждой последовательности и удаляю \STX
следующим образом:
:set prompt "\ESC[33mImported Modules: %s\n\ESC[34m\x03BB> \ESC[0m\n"
:set prompt-cont "\ESC[31m > \ESC[0m\n"
Теперь он работает, как и ожидалось, но должен внести некоторые дополнительные \n
, что вызывает уродливое расположение.
Теперь у меня нет идей, почему ему требуется дополнительный \n
для правильной визуализации escape-последовательностей в приглашении GHCi и Как решить эту проблему.
Спасибо за любую информацию!