使用颜色设置 ghci 提示符
Setting the ghci prompt with colors
我尝试在我的 ghci 提示中使用终端颜色。
所以当我打开 ghci
并尝试:
Prelude> :set prompt '\[3[1haskell > 3[0m\]'
'\[3[1\]haskell> \[3[0m\] '
我知道这些代码由 bash 使用 echo
和 -e
标志解释。但是我如何在 ghci 中执行此操作?
Haskell 字符转义码为十进制:
Prelude> :set prompt "7[31mhaskell>7[0m "
将相同的指令放入 .ghci
文件中也应该有效。
根据https://wiki.haskell.org/GHCi_in_colour,您可以使用
:set prompt "\ESC[33m\STXhaskell > \ESC[m\STX"
一些注释说明:
- 只有双引号字符串被特殊处理;单引号被视为提示的一部分。
- 双引号字符串遵循Haskell惯例。
\STX
对应于你的bash
提示符的\]
; 不清楚为什么 GHCi 不需要 \[
的等效项。 (也许是这样;我没玩过这么多。)。有关解释,请参阅 http://trac.haskell.org/haskeline/wiki/ControlSequencesInPrompt。
我尝试在我的 ghci 提示中使用终端颜色。
所以当我打开 ghci
并尝试:
Prelude> :set prompt '\[3[1haskell > 3[0m\]'
'\[3[1\]haskell> \[3[0m\] '
我知道这些代码由 bash 使用 echo
和 -e
标志解释。但是我如何在 ghci 中执行此操作?
Haskell 字符转义码为十进制:
Prelude> :set prompt "7[31mhaskell>7[0m "
将相同的指令放入 .ghci
文件中也应该有效。
根据https://wiki.haskell.org/GHCi_in_colour,您可以使用
:set prompt "\ESC[33m\STXhaskell > \ESC[m\STX"
一些注释说明:
- 只有双引号字符串被特殊处理;单引号被视为提示的一部分。
- 双引号字符串遵循Haskell惯例。
\STX
对应于你的bash
提示符的\]
;不清楚为什么 GHCi 不需要。有关解释,请参阅 http://trac.haskell.org/haskeline/wiki/ControlSequencesInPrompt。\[
的等效项。 (也许是这样;我没玩过这么多。)