我试图在ghci提示符中使用终端颜色。
因此,当我打开ghci
并尝试:
Prelude> :set prompt '\[\033[1haskell > \033[0m\]'
'\[\033[1\]haskell> \[\033[0m\] '
我知道这些代码是通过bash的echo
和-e
标志来解释的。但是在ghci中我应该如何做到这一点?
:set prompt "\ESC[33m\STXhaskell > \ESC[m\STX"
一些解释说明:
\STX
对应于您的 bash
提示符的 \]
;\[
的东西。(也许它需要;我还没有深入研究过。)Haskell字符转义代码是十进制的:
Prelude> :set prompt "\027[31mhaskell>\027[0m "
.ghci
文件中也可以起作用。\o33
的八进制转义码,这更接近Bash。将八进制转换为十进制很无聊 :P - chi
\ESC
(和可能的任何不可打印字符)之后停止计数,直到看到\STX
? - chepner