使用颜色设置ghci提示

时间:2016-07-08 18:53:03

标签: haskell prompt ghci

我尝试在ghci提示符中使用终端颜色。

所以当我打开ghci并尝试:

Prelude> :set prompt '\[\033[1haskell > \033[0m\]'
'\[\033[1\]haskell> \[\033[0m\] '

我知道这些代码是由带有echo-e标志的bash解释的。但我怎么能在ghci中做到这一点?

2 个答案:

答案 0 :(得分:8)

根据https://wiki.haskell.org/GHCi_in_colour,您可以使用

:set prompt "\ESC[33m\STXhaskell > \ESC[m\STX"

一些解释说明:

  1. 只对双引号字符串进行特殊处理;单引号被视为提示的一部分。
  2. 双引号字符串遵循Haskell练习。
  3. \STX对应于\]提示的bash; 它不清楚为什么GHCi也不需要等同于\[。 (也许确实如此;我还没有玩过这么多。)。有关说明,请参阅http://trac.haskell.org/haskeline/wiki/ControlSequencesInPrompt

答案 1 :(得分:2)

Haskell字符转义码是十进制的:

Prelude> :set prompt "\027[31mhaskell>\027[0m "

.ghci文件中放置相同的指令也应该有效。