使用颜色设置ghci提示

hgi*_*sel 3 haskell prompt ghci

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

所以,当我打开ghci并尝试:

Prelude> :set prompt '\[\033[1haskell > \033[0m\]'
'\[\033[1\]haskell> \[\033[0m\] '
Run Code Online (Sandbox Code Playgroud)

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

che*_*ner 8

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

:set prompt "\ESC[33m\STXhaskell > \ESC[m\STX"
Run Code Online (Sandbox Code Playgroud)

一些解释说明:

  1. 只对双引号字符串进行特殊处理; 单引号被视为提示的一部分.
  2. 双引号字符串遵循Haskell实践.
  3. \STX对应于\]你的bash提示; 目前尚不清楚为什么GHCi不需要等效的\[.(也许它;我没有这个打的多.) .有关说明,请参见http://trac.haskell.org/haskeline/wiki/ControlSequencesInPrompt.